ROMS
Loading...
Searching...
No Matches
sediment_var.h
Go to the documentation of this file.
1/*
2** git $id$
3*************************************************** hernan g. arango ***
4** copyright(c) 2002-2025 the roms group **
5** licensed under a mit/x style license **
6** see license_roms.md **
7************************************************************************
8** **
9** assigns metadata indices for the sediment model variables that **
10** are used in input and output netcdf files. the metadata **
11** information is read from "varinfo.yaml". **
12** **
13** this file is included in file "mod_ncparam.F", routine **
14** "initialize_ncparm". **
15** **
16************************************************************************
17*/
18
19/*
20** model state sediment tracers.
21*/
22
23 CASE ('idSbed(ithck)')
24 idsbed(ithck)=varid
25 CASE ('idSbed(iaged)')
26 idsbed(iaged)=varid
27 CASE ('idSbed(iporo)')
28 idsbed(iporo)=varid
29 CASE ('idSbed(idiff)')
30 idsbed(idiff)=varid
31#if defined COHESIVE_BED || defined SED_BIODIFF || defined MIXED_BED
32 CASE ('idSbed(ibtcr)')
33 idsbed(ibtcr)=varid
34#endif
35 CASE ('idBott(isd50)')
36 idbott(isd50)=varid
37 CASE ('idBott(idens)')
38 idbott(idens)=varid
39 CASE ('idBott(iwsed)')
40 idbott(iwsed)=varid
41 CASE ('idBott(itauc)')
42 idbott(itauc)=varid
43 CASE ('idBott(irlen)')
44 idbott(irlen)=varid
45 CASE ('idBott(irhgt)')
46 idbott(irhgt)=varid
47 CASE ('idBott(ibwav)')
48 idbott(ibwav)=varid
49 CASE ('idBott(izdef)')
50 idbott(izdef)=varid
51 CASE ('idBott(izapp)')
52 idbott(izapp)=varid
53 CASE ('idBott(izNik)')
54 idbott(iznik)=varid
55 CASE ('idBott(izbio)')
56 idbott(izbio)=varid
57 CASE ('idBott(izbfm)')
58 idbott(izbfm)=varid
59 CASE ('idBott(izbld)')
60 idbott(izbld)=varid
61 CASE ('idBott(izwbl)')
62 idbott(izwbl)=varid
63 CASE ('idBott(iactv)')
64 idbott(iactv)=varid
65 CASE ('idBott(ishgt)')
66 idbott(ishgt)=varid
67 CASE ('idBott(idefx)')
68 idbott(idefx)=varid
69 CASE ('idBott(idnet)')
70 idbott(idnet)=varid
71#if defined COHESIVE_BED || defined SED_BIODIFF || defined MIXED_BED
72 CASE ('idBott(idoff)')
73 idbott(idoff)=varid
74 CASE ('idBott(idslp)')
75 idbott(idslp)=varid
76 CASE ('idBott(idtim)')
77 idbott(idtim)=varid
78 CASE ('idBott(idbmx)')
79 idbott(idbmx)=varid
80 CASE ('idBott(idbmm)')
81 idbott(idbmm)=varid
82 CASE ('idBott(idbzs)')
83 idbott(idbzs)=varid
84 CASE ('idBott(idbzm)')
85 idbott(idbzm)=varid
86 CASE ('idBott(idbzp)')
87 idbott(idbzp)=varid
88#endif
89#if defined MIXED_BED
90 CASE ('idBott(idprp)')
91 idbott(idprp)=varid
92#endif
93 CASE ('idTvar(idmud(i))')
94 load=.false.
95 IF (ncs.gt.0) THEN
96 varid=varid-1
97 DO i=1,ncs
98 varid=varid+1
99 idtvar(idmud(i))=varid
100 DO ng=1,ngrids
101 fscale(varid,ng)=scale
102 iinfo(1,varid,ng)=gtype
103 END DO
104 WRITE (vname(1,varid),'(a,i2.2)') &
105 & trim(adjustl(vinfo(1))), i
106 WRITE (vname(2,varid),'(a,a,i2.2)') &
107 & trim(adjustl(vinfo(2))), ', size class ', i
108 WRITE (vname(3,varid),'(a)') &
109 & trim(adjustl(vinfo(3)))
110 WRITE (vname(4,varid),'(a,i2.2)') &
111 & trim(adjustl(vinfo(4))), i
112 WRITE (vname(5,varid),'(a)') &
113 & trim(adjustl(vinfo(5)))
114 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
115 CALL standardname (vname(6,varid), string, &
116 & suffix='_in_sea_water')
117 END DO
118 varid=varid+1
119 END IF
120 CASE ('idTvar(isand(i))')
121 load=.false.
122 IF (nns.gt.0) THEN
123 varid=varid-1
124 DO i=1,nns
125 varid=varid+1
126 idtvar(isand(i))=varid
127 DO ng=1,ngrids
128 fscale(varid,ng)=scale
129 iinfo(1,varid,ng)=gtype
130 END DO
131 WRITE (vname(1,varid),'(a,i2.2)') &
132 & trim(adjustl(vinfo(1))), i
133 WRITE (vname(2,varid),'(a,a,i2.2)') &
134 & trim(adjustl(vinfo(2))), ', size class ', i
135 WRITE (vname(3,varid),'(a)') &
136 & trim(adjustl(vinfo(3)))
137 WRITE (vname(4,varid),'(a,i2.2)') &
138 & trim(adjustl(vinfo(4))), i
139 WRITE (vname(5,varid),'(a)') &
140 & trim(adjustl(vinfo(5)))
141 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
142 CALL standardname (vname(6,varid), string, &
143 & suffix='_in_sea_water')
144 END DO
145 varid=varid+1
146 END IF
147 CASE ('idfrac')
148 load=.false.
149 IF ((ncs.gt.0).and. &
150 & (vinfo(1)(1:8).eq.'mudfrac_')) THEN
151 varid=varid-1
152 DO i=1,ncs
153 varid=varid+1
154 idfrac(i)=varid
155 DO ng=1,ngrids
156 fscale(varid,ng)=scale
157 iinfo(1,varid,ng)=gtype
158 END DO
159 WRITE (vname(1,varid),'(a,i2.2)') &
160 & trim(adjustl(vinfo(1))), i
161 WRITE (vname(2,varid),'(a,a,i2.2)') &
162 & trim(adjustl(vinfo(2))), ', size class ', i
163 WRITE (vname(3,varid),'(a)') &
164 & trim(adjustl(vinfo(3)))
165 WRITE (vname(4,varid),'(a,i2.2)') &
166 & trim(adjustl(vinfo(4))), i
167 WRITE (vname(5,varid),'(a)') &
168 & trim(adjustl(vinfo(5)))
169 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
170 CALL standardname (vname(6,varid), string, &
171 & suffix='_fraction')
172 END DO
173 varid=varid+1
174 END IF
175 IF ((nns.gt.0).and. &
176 & (vinfo(1)(1:9).eq.'sandfrac_')) THEN
177 varid=varid-1
178 DO i=1,nns
179 varid=varid+1
180 idfrac(ncs+i)=varid
181 DO ng=1,ngrids
182 fscale(varid,ng)=scale
183 iinfo(1,varid,ng)=gtype
184 END DO
185 WRITE (vname(1,varid),'(a,i2.2)') &
186 & trim(adjustl(vinfo(1))), i
187 WRITE (vname(2,varid),'(a,a,i2.2)') &
188 & trim(adjustl(vinfo(2))), ', size class ', i
189 WRITE (vname(3,varid),'(a)') &
190 & trim(adjustl(vinfo(3)))
191 WRITE (vname(4,varid),'(a,i2.2)') &
192 & trim(adjustl(vinfo(4))), i
193 WRITE (vname(5,varid),'(a)') &
194 & trim(adjustl(vinfo(5)))
195 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
196 CALL standardname (vname(6,varid), string, &
197 & suffix='_fraction')
198 END DO
199 varid=varid+1
200 END IF
201 CASE ('idBmas')
202 load=.false.
203 IF ((ncs.gt.0).and. &
204 & (vinfo(1)(1:8).eq.'mudmass_')) THEN
205 varid=varid-1
206 DO i=1,ncs
207 varid=varid+1
208 idbmas(i)=varid
209 DO ng=1,ngrids
210 fscale(varid,ng)=scale
211 iinfo(1,varid,ng)=gtype
212 END DO
213 WRITE (vname(1,varid),'(a,i2.2)') &
214 & trim(adjustl(vinfo(1))), i
215 WRITE (vname(2,varid),'(a,a,i2.2)') &
216 & trim(adjustl(vinfo(2))), ', size class ', i
217 WRITE (vname(3,varid),'(a)') &
218 & trim(adjustl(vinfo(3)))
219 WRITE (vname(4,varid),'(a,i2.2)') &
220 & trim(adjustl(vinfo(4))), i
221 WRITE (vname(5,varid),'(a)') &
222 & trim(adjustl(vinfo(5)))
223 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
224 CALL standardname (vname(6,varid), string, &
225 & suffix='_mass')
226 END DO
227 varid=varid+1
228 END IF
229 IF ((nns.gt.0).and. &
230 & (vinfo(1)(1:9).eq.'sandmass_')) THEN
231 varid=varid-1
232 DO i=1,nns
233 varid=varid+1
234 idbmas(ncs+i)=varid
235 DO ng=1,ngrids
236 fscale(varid,ng)=scale
237 iinfo(1,varid,ng)=gtype
238 END DO
239 WRITE (vname(1,varid),'(a,i2.2)') &
240 & trim(adjustl(vinfo(1))), i
241 WRITE (vname(2,varid),'(a,a,i2.2)') &
242 & trim(adjustl(vinfo(2))), ', size class ', i
243 WRITE (vname(3,varid),'(a)') &
244 & trim(adjustl(vinfo(3)))
245 WRITE (vname(4,varid),'(a,i2.2)') &
246 & trim(adjustl(vinfo(4))), i
247 WRITE (vname(5,varid),'(a)') &
248 & trim(adjustl(vinfo(5)))
249 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
250 CALL standardname (vname(6,varid), string, &
251 & suffix='_mass')
252 END DO
253 varid=varid+1
254 END IF
255#ifdef BEDLOAD
256 CASE ('idUbld')
257 load=.false.
258 IF ((ncs.gt.0).and. &
259 & (vinfo(1)(1:13).eq.'bedload_Umud_')) THEN
260 varid=varid-1
261 DO i=1,ncs
262 varid=varid+1
263 idubld(i)=varid
264 DO ng=1,ngrids
265 fscale(varid,ng)=scale
266 iinfo(1,varid,ng)=gtype
267 END DO
268 WRITE (vname(1,varid),'(a,i2.2)') &
269 & trim(adjustl(vinfo(1))), i
270 WRITE (vname(2,varid),'(a,a,i2.2)') &
271 & trim(adjustl(vinfo(2))), ', size class ', i
272 WRITE (vname(3,varid),'(a)') &
273 & trim(adjustl(vinfo(3)))
274 WRITE (vname(4,varid),'(a,i2.2)') &
275 & trim(adjustl(vinfo(4))), i
276 WRITE (vname(5,varid),'(a)') &
277 & trim(adjustl(vinfo(5)))
278 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
279 CALL standardname (vname(6,varid), string)
280 END DO
281 varid=varid+1
282 END IF
283 IF ((nns.gt.0).and. &
284 & (vinfo(1)(1:14).eq.'bedload_Usand_')) THEN
285 varid=varid-1
286 DO i=1,nns
287 varid=varid+1
288 idubld(ncs+i)=varid
289 DO ng=1,ngrids
290 fscale(varid,ng)=scale
291 iinfo(1,varid,ng)=gtype
292 END DO
293 WRITE (vname(1,varid),'(a,i2.2)') &
294 & trim(adjustl(vinfo(1))), i
295 WRITE (vname(2,varid),'(a,a,i2.2)') &
296 & trim(adjustl(vinfo(2))), ', size class ', i
297 WRITE (vname(3,varid),'(a)') &
298 & trim(adjustl(vinfo(3)))
299 WRITE (vname(4,varid),'(a,i2.2)') &
300 & trim(adjustl(vinfo(4))), i
301 WRITE (vname(5,varid),'(a)') &
302 & trim(adjustl(vinfo(5)))
303 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
304 CALL standardname (vname(6,varid), string)
305 END DO
306 varid=varid+1
307 END IF
308 CASE ('idVbld')
309 load=.false.
310 IF ((ncs.gt.0).and. &
311 & (vinfo(1)(1:13).eq.'bedload_Vmud_')) THEN
312 varid=varid-1
313 DO i=1,ncs
314 varid=varid+1
315 idvbld(i)=varid
316 DO ng=1,ngrids
317 fscale(varid,ng)=scale
318 iinfo(1,varid,ng)=gtype
319 END DO
320 WRITE (vname(1,varid),'(a,i2.2)') &
321 & trim(adjustl(vinfo(1))), i
322 WRITE (vname(2,varid),'(a,a,i2.2)') &
323 & trim(adjustl(vinfo(2))), ', size class ', i
324 WRITE (vname(3,varid),'(a)') &
325 & trim(adjustl(vinfo(3)))
326 WRITE (vname(4,varid),'(a,i2.2)') &
327 & trim(adjustl(vinfo(4))), i
328 WRITE (vname(5,varid),'(a)') &
329 & trim(adjustl(vinfo(5)))
330 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
331 CALL standardname (vname(6,varid), string)
332 END DO
333 varid=varid+1
334 END IF
335 IF ((nns.gt.0).and. &
336 & (vinfo(1)(1:14).eq.'bedload_Vsand_')) THEN
337 varid=varid-1
338 DO i=1,nns
339 varid=varid+1
340 idvbld(ncs+i)=varid
341 DO ng=1,ngrids
342 fscale(varid,ng)=scale
343 iinfo(1,varid,ng)=gtype
344 END DO
345 WRITE (vname(1,varid),'(a,i2.2)') &
346 & trim(adjustl(vinfo(1))), i
347 WRITE (vname(2,varid),'(a,a,i2.2)') &
348 & trim(adjustl(vinfo(2))), ', size class ', i
349 WRITE (vname(3,varid),'(a)') &
350 & trim(adjustl(vinfo(3)))
351 WRITE (vname(4,varid),'(a,i2.2)') &
352 & trim(adjustl(vinfo(4))), i
353 WRITE (vname(5,varid),'(a)') &
354 & trim(adjustl(vinfo(5)))
355 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
356 CALL standardname (vname(6,varid), string)
357 END DO
358 varid=varid+1
359 END IF
360#endif
361
362/*
363** sediment tracers open boundary conditions.
364*/
365
366 CASE ('idTbry(iwest,idmud(i))')
367 load=.false.
368 IF (ncs.gt.0) THEN
369 varid=varid-1
370 DO i=1,ncs
371 varid=varid+1
372 idtbry(iwest,idmud(i))=varid
373 DO ng=1,ngrids
374 fscale(varid,ng)=scale
375 iinfo(1,varid,ng)=gtype
376 END DO
377 WRITE (vname(1,varid),'(a,i2.2)') &
378 & trim(adjustl(vinfo(1))), i
379 WRITE (vname(2,varid),'(a,a,i2.2)') &
380 & trim(adjustl(vinfo(2))), ', size class ', i
381 WRITE (vname(3,varid),'(a)') &
382 & trim(adjustl(vinfo(3)))
383 WRITE (vname(4,varid),'(a,i2.2,a)') &
384 & trim(adjustl(vinfo(4))), i, ' western-boundary'
385 WRITE (vname(5,varid),'(a)') &
386 & trim(adjustl(vinfo(5)))
387 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
388 CALL standardname (vname(6,varid), string, &
389 & suffix='_in_sea_water')
390 END DO
391 varid=varid+1
392 END IF
393 CASE ('idTbry(ieast,idmud(i))')
394 load=.false.
395 IF (ncs.gt.0) THEN
396 varid=varid-1
397 DO i=1,ncs
398 varid=varid+1
399 idtbry(ieast,idmud(i))=varid
400 DO ng=1,ngrids
401 fscale(varid,ng)=scale
402 iinfo(1,varid,ng)=gtype
403 END DO
404 WRITE (vname(1,varid),'(a,i2.2)') &
405 & trim(adjustl(vinfo(1))), i
406 WRITE (vname(2,varid),'(a,a,i2.2)') &
407 & trim(adjustl(vinfo(2))), ', size class ', i
408 WRITE (vname(3,varid),'(a)') &
409 & trim(adjustl(vinfo(3)))
410 WRITE (vname(4,varid),'(a,i2.2,a)') &
411 & trim(adjustl(vinfo(4))), i, ' eastern-boundary'
412 WRITE (vname(5,varid),'(a)') &
413 & trim(adjustl(vinfo(5)))
414 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
415 CALL standardname (vname(6,varid), string, &
416 & suffix='_in_sea_water')
417 END DO
418 varid=varid+1
419 END IF
420 CASE ('idTbry(isouth,idmud(i))')
421 load=.false.
422 IF (ncs.gt.0) THEN
423 varid=varid-1
424 DO i=1,ncs
425 varid=varid+1
426 idtbry(isouth,idmud(i))=varid
427 DO ng=1,ngrids
428 fscale(varid,ng)=scale
429 iinfo(1,varid,ng)=gtype
430 END DO
431 WRITE (vname(1,varid),'(a,i2.2)') &
432 & trim(adjustl(vinfo(1))), i
433 WRITE (vname(2,varid),'(a,a,i2.2)') &
434 & trim(adjustl(vinfo(2))), ', size class ', i
435 WRITE (vname(3,varid),'(a)') &
436 & trim(adjustl(vinfo(3)))
437 WRITE (vname(4,varid),'(a,i2.2,a)') &
438 & trim(adjustl(vinfo(4))), i, ' southern-boundary'
439 WRITE (vname(5,varid),'(a)') &
440 & trim(adjustl(vinfo(5)))
441 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
442 CALL standardname (vname(6,varid), string, &
443 & suffix='_in_sea_water')
444 END DO
445 varid=varid+1
446 END IF
447 CASE ('idTbry(inorth,idmud(i))')
448 load=.false.
449 IF (ncs.gt.0) THEN
450 varid=varid-1
451 DO i=1,ncs
452 varid=varid+1
453 idtbry(inorth,idmud(i))=varid
454 DO ng=1,ngrids
455 fscale(varid,ng)=scale
456 iinfo(1,varid,ng)=gtype
457 END DO
458 WRITE (vname(1,varid),'(a,i2.2)') &
459 & trim(adjustl(vinfo(1))), i
460 WRITE (vname(2,varid),'(a,a,i2.2)') &
461 & trim(adjustl(vinfo(2))), ', size class ', i
462 WRITE (vname(3,varid),'(a)') &
463 & trim(adjustl(vinfo(3)))
464 WRITE (vname(4,varid),'(a,i2.2,a)') &
465 & trim(adjustl(vinfo(4))), i, ' northern-boundary'
466 WRITE (vname(5,varid),'(a)') &
467 & trim(adjustl(vinfo(5)))
468 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
469 CALL standardname (vname(6,varid), string, &
470 & suffix='_in_sea_water')
471 END DO
472 varid=varid+1
473 END IF
474 CASE ('idTbry(iwest,isand(i))')
475 load=.false.
476 IF (nns.gt.0) THEN
477 varid=varid-1
478 DO i=1,nns
479 varid=varid+1
480 idtbry(iwest,isand(i))=varid
481 DO ng=1,ngrids
482 fscale(varid,ng)=scale
483 iinfo(1,varid,ng)=gtype
484 END DO
485 WRITE (vname(1,varid),'(a,i2.2)') &
486 & trim(adjustl(vinfo(1))), i
487 WRITE (vname(2,varid),'(a,a,i2.2)') &
488 & trim(adjustl(vinfo(2))), ', size class ', i
489 WRITE (vname(3,varid),'(a)') &
490 & trim(adjustl(vinfo(3)))
491 WRITE (vname(4,varid),'(a,i2.2,a)') &
492 & trim(adjustl(vinfo(4))), i, ' western-boundary'
493 WRITE (vname(5,varid),'(a)') &
494 & trim(adjustl(vinfo(5)))
495 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
496 CALL standardname (vname(6,varid), string, &
497 & suffix='_in_sea_water')
498 END DO
499 varid=varid+1
500 END IF
501 CASE ('idTbry(ieast,isand(i))')
502 load=.false.
503 IF (nns.gt.0) THEN
504 varid=varid-1
505 DO i=1,nns
506 varid=varid+1
507 idtbry(ieast,isand(i))=varid
508 DO ng=1,ngrids
509 fscale(varid,ng)=scale
510 iinfo(1,varid,ng)=gtype
511 END DO
512 WRITE (vname(1,varid),'(a,i2.2)') &
513 & trim(adjustl(vinfo(1))), i
514 WRITE (vname(2,varid),'(a,a,i2.2)') &
515 & trim(adjustl(vinfo(2))), ', size class ', i
516 WRITE (vname(3,varid),'(a)') &
517 & trim(adjustl(vinfo(3)))
518 WRITE (vname(4,varid),'(a,i2.2,a)') &
519 & trim(adjustl(vinfo(4))), i, ' eastern-boundary'
520 WRITE (vname(5,varid),'(a)') &
521 & trim(adjustl(vinfo(5)))
522 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
523 CALL standardname (vname(6,varid), string, &
524 & suffix='_in_sea_water')
525 END DO
526 varid=varid+1
527 END IF
528 CASE ('idTbry(isouth,isand(i))')
529 load=.false.
530 IF (nns.gt.0) THEN
531 varid=varid-1
532 DO i=1,nns
533 varid=varid+1
534 idtbry(isouth,isand(i))=varid
535 DO ng=1,ngrids
536 fscale(varid,ng)=scale
537 iinfo(1,varid,ng)=gtype
538 END DO
539 WRITE (vname(1,varid),'(a,i2.2)') &
540 & trim(adjustl(vinfo(1))), i
541 WRITE (vname(2,varid),'(a,a,i2.2)') &
542 & trim(adjustl(vinfo(2))), ', size class ', i
543 WRITE (vname(3,varid),'(a)') &
544 & trim(adjustl(vinfo(3)))
545 WRITE (vname(4,varid),'(a,i2.2,a)') &
546 & trim(adjustl(vinfo(4))), i, ' southern-boundary'
547 WRITE (vname(5,varid),'(a)') &
548 & trim(adjustl(vinfo(5)))
549 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
550 CALL standardname (vname(6,varid), string, &
551 & suffix='_in_sea_water')
552 END DO
553 varid=varid+1
554 END IF
555 CASE ('idTbry(inorth,isand(i))')
556 load=.false.
557 IF (nns.gt.0) THEN
558 varid=varid-1
559 DO i=1,nns
560 varid=varid+1
561 idtbry(inorth,isand(i))=varid
562 DO ng=1,ngrids
563 fscale(varid,ng)=scale
564 iinfo(1,varid,ng)=gtype
565 END DO
566 WRITE (vname(1,varid),'(a,i2.2)') &
567 & trim(adjustl(vinfo(1))), i
568 WRITE (vname(2,varid),'(a,a,i2.2)') &
569 & trim(adjustl(vinfo(2))), ', size class ', i
570 WRITE (vname(3,varid),'(a)') &
571 & trim(adjustl(vinfo(3)))
572 WRITE (vname(4,varid),'(a,i2.2,a)') &
573 & trim(adjustl(vinfo(4))), i, ' northern-boundary'
574 WRITE (vname(5,varid),'(a)') &
575 & trim(adjustl(vinfo(5)))
576 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
577 CALL standardname (vname(6,varid), string, &
578 & suffix='_in_sea_water')
579 END DO
580 varid=varid+1
581 END IF
582
583/*
584** sediment tracers point source/sinks(river runoff).
585*/
586
587 CASE ('idRtrc(idmud)')
588 load=.false.
589 IF (ncs.gt.0) THEN
590 varid=varid-1
591 DO i=1,ncs
592 varid=varid+1
593 idrtrc(idmud(i))=varid
594 DO ng=1,ngrids
595 fscale(varid,ng)=scale
596 iinfo(1,varid,ng)=gtype
597 END DO
598 WRITE (vname(1,varid),'(a,i2.2)') &
599 & trim(adjustl(vinfo(1))), i
600 WRITE (vname(2,varid),'(a,a,i2.2)') &
601 & trim(adjustl(vinfo(2))), ', size class ', i
602 WRITE (vname(3,varid),'(a)') &
603 & trim(adjustl(vinfo(3)))
604 WRITE (vname(4,varid),'(a,i2.2)') &
605 & trim(adjustl(vinfo(4))), i
606 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
607 CALL standardname (vname(6,varid), string, &
608 & suffix='trasnport_into_sea_water_from_rivers')
609 END DO
610 varid=varid+1
611 END IF
612 CASE ('idRtrc(isand)')
613 load=.false.
614 IF (nns.gt.0) THEN
615 varid=varid-1
616 DO i=1,nns
617 varid=varid+1
618 idrtrc(isand(i))=varid
619 DO ng=1,ngrids
620 fscale(varid,ng)=scale
621 iinfo(1,varid,ng)=gtype
622 END DO
623 WRITE (vname(1,varid),'(a,i2.2)') &
624 & trim(adjustl(vinfo(1))), i
625 WRITE (vname(2,varid),'(a,a,i2.2)') &
626 & trim(adjustl(vinfo(2))), ', size class ', i
627 WRITE (vname(3,varid),'(a)') &
628 & trim(adjustl(vinfo(3)))
629 WRITE (vname(4,varid),'(a,i2.2)') &
630 & trim(adjustl(vinfo(4))), i
631 WRITE (string,'(a,i2.2)') trim(adjustl(vinfo(6))), i
632 CALL standardname (vname(6,varid), string, &
633 & suffix='trasnport_into_sea_water_from_rivers')
634 END DO
635 varid=varid+1
636 END IF
subroutine output(ng)
Definition output.F:4