119 logical,
intent(in) :: ldef
120 integer,
intent(in) :: ng, model
124 logical :: got_var(
nv)
126 integer,
parameter :: natt = 25
128 integer :: i, j, ifield, itrc, nvd3, nvd4, varid
129 integer :: recdim, status
130#ifdef ADJUST_BOUNDARY
134 integer :: t2dgrd(3), u2dgrd(3), v2dgrd(3)
140 integer :: t3dgrd(4), u3dgrd(4), v3dgrd(4), w3dgrd(4)
143 integer :: sp2dgrd(3)
148 character (len=256) :: ncname
149 character (len=MaxLen) :: vinfo(natt)
151 character (len=*),
parameter :: myfile = &
152 & __FILE__//
", def_quick_nf90"
165 WRITE (
stdout,10) ng, trim(ncname)
167 WRITE (
stdout,20) ng, trim(ncname)
175 define :
IF (ldef)
THEN
188 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xi_rho', &
192 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xi_u', &
196 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xi_v', &
200 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xi_psi', &
204 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'eta_rho', &
208 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'eta_u', &
212 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'eta_v', &
216 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'eta_psi', &
220#ifdef ADJUST_BOUNDARY
221 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'IorJ', &
226#if defined WRITE_WATER && defined MASKING
227 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xy_rho', &
231 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xy_u', &
235 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xy_v', &
241# if defined WRITE_WATER && defined MASKING
242 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xyz_rho', &
246 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xyz_u', &
250 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xyz_v', &
254 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xyz_w', &
255 &
iobounds(ng)%xy_rho*(
n(ng)+1), dimids(23))
259 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'N', &
263 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
's_rho', &
267 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
's_w', &
268 &
n(ng)+1, dimids(10))
271 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'tracer', &
272 &
nt(ng), dimids(11))
276 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'NST', &
280 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'Nbed', &
284# if defined WRITE_WATER && defined MASKING
285 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'xybed', &
292 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'Nbands', &
296 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'Nphy', &
300 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'Nbac', &
304 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'Ndom', &
308 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'Nfec', &
314 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'boundary', &
319 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'Nstate', &
324#ifdef ADJUST_BOUNDARY
325 status=
def_dim(ng, model,
qck(ng)%ncid, ncname,
'obc_adjust', &
326 &
nbrec(ng), dimids(31))
330 status=
def_dim(ng, model,
qck(ng)%ncid, ncname, &
332 & nf90_unlimited, dimids(12))
339#if defined WRITE_WATER && defined MASKING
349#if defined WRITE_WATER && defined MASKING
371 sp2dgrd(1)=dimids( 4)
372 sp2dgrd(2)=dimids( 8)
373 sp2dgrd(3)=dimids(12)
378#if defined WRITE_WATER && defined MASKING
399#if defined WRITE_WATER && defined MASKING
421# if defined WRITE_WATER && defined MASKING
434# if defined WRITE_WATER && defined MASKING
465 CALL def_info (ng, model,
qck(ng)%ncid, ncname, dimids)
476 WRITE (vinfo( 3),
'(a,a)')
'seconds since ', trim(
rclock%string)
477 vinfo( 4)=trim(
rclock%calendar)
481 &
nf_tout, 1, (/recdim/), aval, vinfo, ncname, &
482 & setparaccess = .true.)
497 vinfo(22)=
'coordinates'
500 &
nf_fout, nvd3, sp2dgrd, aval, vinfo, ncname, &
501 & setfillval = .false.)
514 vinfo(22)=
'coordinates'
517 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname, &
518 & setfillval = .false.)
531 vinfo(22)=
'coordinates'
534 &
nf_fout, nvd3, u2dgrd, aval, vinfo, ncname, &
535 & setfillval = .false.)
548 vinfo(22)=
'coordinates'
551 &
nf_fout, nvd3, v2dgrd, aval, vinfo, ncname, &
552 & setfillval = .false.)
565# if defined WRITE_WATER && defined MASKING
569 vinfo(22)=
'coordinates'
572 &
nf_fout, nvd4, t3dgrd, aval, vinfo, ncname, &
573 & setfillval = .false.)
585# if defined WRITE_WATER && defined MASKING
589 vinfo(22)=
'coordinates'
592 &
nf_fout, nvd4, u3dgrd, aval, vinfo, ncname, &
593 & setfillval = .false.)
605# if defined WRITE_WATER && defined MASKING
609 vinfo(22)=
'coordinates'
612 &
nf_fout, nvd4, v3dgrd, aval, vinfo, ncname, &
613 & setfillval = .false.)
625# if defined WRITE_WATER && defined MASKING
629 vinfo(22)=
'coordinates'
632 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
633 & setfillval = .false.)
646#if defined WRITE_WATER && defined MASKING
650 vinfo(22)=
'coordinates'
654 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname, &
655 & setfillval = .false.)
657 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
670#if defined WRITE_WATER && defined MASKING
674 vinfo(22)=
'coordinates'
677 &
nf_fout, nvd3, u2dgrd, aval, vinfo, ncname)
689#if defined WRITE_WATER && defined MASKING
693 vinfo(22)=
'coordinates'
696 &
nf_fout, nvd3, v2dgrd, aval, vinfo, ncname)
708#if defined WRITE_WATER && defined MASKING
712 vinfo(22)=
'coordinates'
715 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
727#if defined WRITE_WATER && defined MASKING
731 vinfo(22)=
'coordinates'
734 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
748# if defined WRITE_WATER && defined MASKING
752 vinfo(22)=
'coordinates'
755 &
nf_fout, nvd4, u3dgrd, aval, vinfo, ncname)
767# if defined WRITE_WATER && defined MASKING
771 vinfo(22)=
'coordinates'
774 &
nf_fout, nvd4, v3dgrd, aval, vinfo, ncname)
786# if defined WRITE_WATER && defined MASKING
790 vinfo(22)=
'coordinates'
793 &
nf_fout, nvd3, u2dgrd, aval, vinfo, ncname)
805# if defined WRITE_WATER && defined MASKING
809 vinfo(22)=
'coordinates'
812 &
nf_fout, nvd3, v2dgrd, aval, vinfo, ncname)
824# if defined WRITE_WATER && defined MASKING
828 vinfo(22)=
'coordinates'
831 &
nf_fout, nvd4, t3dgrd, aval, vinfo, ncname)
843# if defined WRITE_WATER && defined MASKING
847 vinfo(22)=
'coordinates'
850 &
nf_fout, nvd4, t3dgrd, aval, vinfo, ncname)
862# if defined WRITE_WATER && defined MASKING
866 vinfo(22)=
'coordinates'
869 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
881# if defined WRITE_WATER && defined MASKING
885 vinfo(22)=
'coordinates'
888 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
900# if defined WRITE_WATER && defined MASKING
904 vinfo(22)=
'coordinates'
907 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname)
916 vinfo( 3)=
'meter second-1'
919# if defined WRITE_WATER && defined MASKING
923 vinfo(22)=
'coordinates'
926 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname)
941 IF (itrc.eq.
idsed(i))
THEN
942 WRITE (vinfo(19),50) 1000.0_r8*
sd50(i,ng)
946# if defined WRITE_WATER && defined MASKING
950 vinfo(22)=
'coordinates'
953 &
nf_fout, nvd4, t3dgrd, aval, vinfo, ncname)
969 IF (itrc.eq.
idsed(i))
THEN
970 WRITE (vinfo(19),50) 1000.0_r8*
sd50(i,ng)
974# if defined WRITE_WATER && defined MASKING
978 vinfo(22)=
'coordinates'
982 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
995# if defined WRITE_WATER && defined MASKING
999 vinfo(22)=
'coordinates'
1002 &
nf_fout, nvd4, t3dgrd, aval, vinfo, ncname)
1016# if defined WRITE_WATER && defined MASKING
1017 vinfo(20)=
'mask_rho'
1020 vinfo(22)=
'coordinates'
1023 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1037# if defined WRITE_WATER && defined MASKING
1038 vinfo(20)=
'mask_rho'
1041 vinfo(22)=
'coordinates'
1044 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1057# if defined WRITE_WATER && defined MASKING
1058 vinfo(20)=
'mask_rho'
1061 vinfo(22)=
'coordinates'
1064 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
1065 & setfillval = .false.)
1077# if defined WRITE_WATER && defined MASKING
1078 vinfo(20)=
'mask_rho'
1081 vinfo(22)=
'coordinates'
1084 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
1085 & setfillval = .false.)
1099# if defined WRITE_WATER && defined MASKING
1100 vinfo(20)=
'mask_rho'
1103 vinfo(22)=
'coordinates'
1106 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
1107 & setfillval = .false.)
1111# if defined GLS_MIXING || defined MY25_MIXING
1121# if defined WRITE_WATER && defined MASKING
1122 vinfo(20)=
'mask_rho'
1125 vinfo(22)=
'coordinates'
1128 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
1129 & setfillval = .false.)
1141# if defined WRITE_WATER && defined MASKING
1142 vinfo(20)=
'mask_rho'
1145 vinfo(22)=
'coordinates'
1148 &
nf_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
1149 & setfillval = .false.)
1153# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
1163# if defined WRITE_WATER && defined MASKING
1164 vinfo(20)=
'mask_rho'
1167 vinfo(22)=
'coordinates'
1170 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1174# if defined BULK_FLUXES || defined ECOSIM
1184# if defined WRITE_WATER && defined MASKING
1185 vinfo(20)=
'mask_rho'
1188 vinfo(22)=
'coordinates'
1191 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1201# if defined WRITE_WATER && defined MASKING
1202 vinfo(20)=
'mask_rho'
1205 vinfo(22)=
'coordinates'
1208 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1220# if defined WRITE_WATER && defined MASKING
1221 vinfo(20)=
'mask_rho'
1224 vinfo(22)=
'coordinates'
1227 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1237# if defined WRITE_WATER && defined MASKING
1238 vinfo(20)=
'mask_rho'
1241 vinfo(22)=
'coordinates'
1244 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1256 IF (itrc.eq.
itemp)
THEN
1257 vinfo(11)=
'upward flux, cooling'
1258 vinfo(12)=
'downward flux, heating'
1259 ELSE IF (itrc.eq.
isalt)
THEN
1260 vinfo(11)=
'upward flux, freshening (net precipitation)'
1261 vinfo(12)=
'downward flux, salting (net evaporation)'
1265# if defined WRITE_WATER && defined MASKING
1266 vinfo(20)=
'mask_rho'
1269 vinfo(22)=
'coordinates'
1273 & nvd3, t2dgrd, aval, vinfo, ncname)
1278# if defined BULK_FLUXES || defined FRC_COUPLING
1286 vinfo(11)=
'upward flux, cooling'
1287 vinfo(12)=
'downward flux, heating'
1290# if defined WRITE_WATER && defined MASKING
1291 vinfo(20)=
'mask_rho'
1294 vinfo(22)=
'coordinates'
1297 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1307 vinfo(11)=
'upward flux, cooling'
1308 vinfo(12)=
'downward flux, heating'
1311# if defined WRITE_WATER && defined MASKING
1312 vinfo(20)=
'mask_rho'
1315 vinfo(22)=
'coordinates'
1318 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1328 vinfo(11)=
'upward flux, cooling'
1329 vinfo(12)=
'downward flux, heating'
1332# if defined WRITE_WATER && defined MASKING
1333 vinfo(20)=
'mask_rho'
1336 vinfo(22)=
'coordinates'
1339 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1344# if defined BULK_FLUXES
1354# if defined WRITE_WATER && defined MASKING
1355 vinfo(20)=
'mask_rho'
1358 vinfo(22)=
'coordinates'
1361 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1373 vinfo(11)=
'downward flux, freshening (condensation)'
1374 vinfo(12)=
'upward flux, salting (evaporation)'
1377# if defined WRITE_WATER && defined MASKING
1378 vinfo(20)=
'mask_rho'
1381 vinfo(22)=
'coordinates'
1384 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1394 vinfo(11)=
'upward flux, salting (NOT POSSIBLE)'
1395 vinfo(12)=
'downward flux, freshening (precipitation)'
1398# if defined WRITE_WATER && defined MASKING
1399 vinfo(20)=
'mask_rho'
1402 vinfo(22)=
'coordinates'
1405 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1417 vinfo(11)=
'upward flux, freshening (net precipitation)'
1418 vinfo(12)=
'downward flux, salting (net evaporation)'
1421# if defined WRITE_WATER && defined MASKING
1422 vinfo(20)=
'mask_rho'
1425 vinfo(22)=
'coordinates'
1428 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1440 vinfo(11)=
'upward flux, cooling'
1441 vinfo(12)=
'downward flux, heating'
1444# if defined WRITE_WATER && defined MASKING
1445 vinfo(20)=
'mask_rho'
1448 vinfo(22)=
'coordinates'
1451 &
nf_fout, nvd3, t2dgrd, aval, vinfo, ncname)
1465#if defined WRITE_WATER && defined MASKING
1469 vinfo(22)=
'coordinates'
1472 &
nf_fout, nvd3, u2dgrd, aval, vinfo, ncname)
1484#if defined WRITE_WATER && defined MASKING
1488 vinfo(22)=
'coordinates'
1491 &
nf_fout, nvd3, v2dgrd, aval, vinfo, ncname)
1503#if defined WRITE_WATER && defined MASKING
1507 vinfo(22)=
'coordinates'
1510 &
nf_fout, nvd3, u2dgrd, aval, vinfo, ncname)
1522#if defined WRITE_WATER && defined MASKING
1526 vinfo(22)=
'coordinates'
1529 &
nf_fout, nvd3, v2dgrd, aval, vinfo, ncname)
1533#if (defined BBL_MODEL || defined WAVES_OUTPUT) && defined SOLVE3D
1540 & t2dgrd, u2dgrd, v2dgrd)
1544#if defined ICE_MODEL && defined SOLVE3D
1550 CALL ice_def_nf90 (ng, model, ldef,
qout,
qck, &
1551 & t2dgrd, u2dgrd, v2dgrd)
1555#if defined SEDIMENT && defined SOLVE3D
1562 & t2dgrd, u2dgrd, v2dgrd, &
1567#if defined WEC_VF && defined SOLVE3D
1573 CALL wec_def_nf90 (ng, model, ldef,
qout,
qck, &
1574 & t2dgrd, u2dgrd, v2dgrd, &
1575 & t3dgrd, u3dgrd, v3dgrd, w3dgrd)
1599 query :
IF (.not.ldef)
THEN
1606 WRITE (
stdout,60) trim(ncname)
1613 & ncid =
qck(ng)%ncid)
1619 & ncid =
qck(ng)%ncid)
1731# if defined GLS_MIXING || defined MY25_MIXING
1739# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
1744# if defined BULK_FLUXES || defined ECOSIM
1758# if defined BULK_FLUXES || defined FRC_COUPLING
1807 got_var(
idtvar(itrc))=.true.
1811 got_var(
idsurt(itrc))=.true.
1817 got_var(
idtsur(itrc))=.true.
1827 IF (.not.got_var(
idtime))
THEN
1834 IF (.not.got_var(
idpwet))
THEN
1840 IF (.not.got_var(
idrwet))
THEN
1846 IF (.not.got_var(
iduwet))
THEN
1852 IF (.not.got_var(
idvwet))
THEN
2018# if defined GLS_MIXING || defined MY25_MIXING
2032# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
2040# if defined BULK_FLUXES || defined ECOSIM
2066# if defined BULK_FLUXES || defined FRC_COUPLING
2172#if (defined BBL_MODEL || defined WAVES_OUTPUT) && defined SOLVE3D
2181#if defined ICE_MODEL && defined SOLVE3D
2186 CALL ice_def_nf90 (ng, model, ldef,
qout,
qck)
2189#if defined SEDIMENT && defined SOLVE3D
2198#if defined WEC_VF && defined SOLVE3D
2203 CALL wec_def_nf90 (ng, model, ldef,
qout,
qck)
2219 10
FORMAT (2x,
'DEF_QUICK_NF90 - creating quicksave file,',t56, &
2220 &
'Grid ',i2.2,
': ',a)
2221 20
FORMAT (2x,
'DEF_QUICK_NF90 - inquiring quicksave file,',t56, &
2222 &
'Grid ',i2.2,
': ',a)
2223 30
FORMAT (/,
' DEF_QUICK_NF90 - unable to create quicksave NetCDF', &
2225 40
FORMAT (
'time dependent',1x,a)
2226 50
FORMAT (1pe11.4,1x,
'millimeter')
2227 60
FORMAT (/,
' DEF_QUICK_NF90 - unable to open quicksave NetCDF', &
2229 70
FORMAT (/,
' DEF_QUICK_NF90 - unable to find variable: ',a,2x, &
2230 &
' in quicksave NetCDF file: ',a)
2245 logical,
intent(in) :: ldef
2246 integer,
intent(in) :: ng, model
2250 logical :: got_var(
nv)
2252 integer,
parameter :: natt = 25
2254 integer :: i, j, ifield, itrc, nvd3, nvd4, varid
2255 integer :: recdim, status
2256# ifdef ADJUST_BOUNDARY
2259 integer :: dimids(
ndimid)
2260 integer :: t2dgrd(3), u2dgrd(3), v2dgrd(3)
2264 integer :: b3dgrd(4)
2266 integer :: t3dgrd(4), u3dgrd(4), v3dgrd(4), w3dgrd(4)
2269 integer :: sp2dgrd(3)
2274 character (len=256) :: ncname
2275 character (len=MaxLen) :: vinfo(natt)
2277 character (len=*),
parameter :: myfile = &
2278 & __FILE__//
", def_quick_pio"
2291 WRITE (
stdout,10) ng, trim(ncname)
2293 WRITE (
stdout,20) ng, trim(ncname)
2301 define :
IF (ldef)
THEN
2314 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xi_rho', &
2318 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xi_u', &
2322 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xi_v', &
2326 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xi_psi', &
2330 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'eta_rho', &
2331 &
iobounds(ng)%eta_rho, dimids( 5))
2334 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'eta_u', &
2338 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'eta_v', &
2342 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'eta_psi', &
2343 &
iobounds(ng)%eta_psi, dimids( 8))
2346# ifdef ADJUST_BOUNDARY
2347 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'IorJ', &
2352# if defined WRITE_WATER && defined MASKING
2353 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xy_rho', &
2357 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xy_u', &
2361 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xy_v', &
2367# if defined WRITE_WATER && defined MASKING
2368 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xyz_rho', &
2369 &
iobounds(ng)%xy_rho*
n(ng), dimids(20))
2372 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xyz_u', &
2376 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xyz_v', &
2380 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xyz_w', &
2381 &
iobounds(ng)%xy_rho*(
n(ng)+1), dimids(23))
2385 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'N', &
2386 &
n(ng), dimids( 9))
2389 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
's_rho', &
2390 &
n(ng), dimids( 9))
2393 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
's_w', &
2394 &
n(ng)+1, dimids(10))
2397 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'tracer', &
2398 &
nt(ng), dimids(11))
2402 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'NST', &
2406 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'Nbed', &
2410# if defined WRITE_WATER && defined MASKING
2411 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'xybed', &
2418 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'Nbands', &
2422 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'Nphy', &
2426 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'Nbac', &
2430 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'Ndom', &
2434 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'Nfec', &
2440 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'boundary', &
2445 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'Nstate', &
2450# ifdef ADJUST_BOUNDARY
2451 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname,
'obc_adjust',&
2452 &
nbrec(ng), dimids(31))
2456 status=
def_dim(ng, model,
qck(ng)%pioFile, ncname, &
2458 & pio_unlimited, dimids(12))
2465# if defined WRITE_WATER && defined MASKING
2475# if defined WRITE_WATER && defined MASKING
2476 t2dgrd(1)=dimids(17)
2477 t2dgrd(2)=dimids(12)
2479 t3dgrd(1)=dimids(20)
2480 t3dgrd(2)=dimids(12)
2483 t2dgrd(1)=dimids( 1)
2484 t2dgrd(2)=dimids( 5)
2485 t2dgrd(3)=dimids(12)
2487 t3dgrd(1)=dimids( 1)
2488 t3dgrd(2)=dimids( 5)
2489 t3dgrd(3)=dimids( 9)
2490 t3dgrd(4)=dimids(12)
2497 sp2dgrd(1)=dimids( 4)
2498 sp2dgrd(2)=dimids( 8)
2499 sp2dgrd(3)=dimids(12)
2504# if defined WRITE_WATER && defined MASKING
2505 u2dgrd(1)=dimids(18)
2506 u2dgrd(2)=dimids(12)
2508 u3dgrd(1)=dimids(21)
2509 u3dgrd(2)=dimids(12)
2512 u2dgrd(1)=dimids( 2)
2513 u2dgrd(2)=dimids( 6)
2514 u2dgrd(3)=dimids(12)
2516 u3dgrd(1)=dimids( 2)
2517 u3dgrd(2)=dimids( 6)
2518 u3dgrd(3)=dimids( 9)
2519 u3dgrd(4)=dimids(12)
2525# if defined WRITE_WATER && defined MASKING
2526 v2dgrd(1)=dimids(19)
2527 v2dgrd(2)=dimids(12)
2529 v3dgrd(1)=dimids(22)
2530 v3dgrd(2)=dimids(12)
2533 v2dgrd(1)=dimids( 3)
2534 v2dgrd(2)=dimids( 7)
2535 v2dgrd(3)=dimids(12)
2537 v3dgrd(1)=dimids( 3)
2538 v3dgrd(2)=dimids( 7)
2539 v3dgrd(3)=dimids( 9)
2540 v3dgrd(4)=dimids(12)
2547# if defined WRITE_WATER && defined MASKING
2548 w3dgrd(1)=dimids(23)
2549 w3dgrd(2)=dimids(12)
2551 w3dgrd(1)=dimids( 1)
2552 w3dgrd(2)=dimids( 5)
2553 w3dgrd(3)=dimids(10)
2554 w3dgrd(4)=dimids(12)
2560# if defined WRITE_WATER && defined MASKING
2561 b3dgrd(1)=dimids(24)
2562 b3dgrd(2)=dimids(12)
2564 b3dgrd(1)=dimids( 1)
2565 b3dgrd(2)=dimids( 5)
2566 b3dgrd(3)=dimids(16)
2567 b3dgrd(4)=dimids(12)
2579 DO j=1,len(vinfo(1))
2591 CALL def_info (ng, model,
qck(ng)%pioFile, ncname, dimids)
2602 WRITE (vinfo( 3),
'(a,a)')
'seconds since ', trim(
rclock%string)
2603 vinfo( 4)=trim(
rclock%calendar)
2611 &
pio_tout, 1, (/recdim/), aval, vinfo, ncname, &
2612 & setparaccess = .true.)
2627 vinfo(22)=
'coordinates'
2634 &
pio_fout, nvd3, sp2dgrd, aval, vinfo, ncname, &
2635 & setfillval = .false.)
2648 vinfo(22)=
'coordinates'
2655 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname, &
2656 & setfillval = .false.)
2669 vinfo(22)=
'coordinates'
2676 &
pio_fout, nvd3, u2dgrd, aval, vinfo, ncname, &
2677 & setfillval = .false.)
2690 vinfo(22)=
'coordinates'
2697 &
pio_fout, nvd3, v2dgrd, aval, vinfo, ncname, &
2698 & setfillval = .false.)
2711# if defined WRITE_WATER && defined MASKING
2712 vinfo(20)=
'mask_rho'
2715 vinfo(22)=
'coordinates'
2722 &
pio_fout, nvd4, t3dgrd, aval, vinfo, ncname, &
2723 & setfillval = .false.)
2735# if defined WRITE_WATER && defined MASKING
2739 vinfo(22)=
'coordinates'
2746 &
pio_fout, nvd4, u3dgrd, aval, vinfo, ncname, &
2747 & setfillval = .false.)
2759# if defined WRITE_WATER && defined MASKING
2763 vinfo(22)=
'coordinates'
2770 &
pio_fout, nvd4, v3dgrd, aval, vinfo, ncname, &
2771 & setfillval = .false.)
2783# if defined WRITE_WATER && defined MASKING
2784 vinfo(20)=
'mask_rho'
2787 vinfo(22)=
'coordinates'
2794 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
2795 & setfillval = .false.)
2808# if defined WRITE_WATER && defined MASKING
2809 vinfo(20)=
'mask_rho'
2812 vinfo(22)=
'coordinates'
2820 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname, &
2821 & setfillval = .false.)
2823 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
2836# if defined WRITE_WATER && defined MASKING
2840 vinfo(22)=
'coordinates'
2847 &
pio_fout, nvd3, u2dgrd, aval, vinfo, ncname)
2859# if defined WRITE_WATER && defined MASKING
2863 vinfo(22)=
'coordinates'
2870 &
pio_fout, nvd3, v2dgrd, aval, vinfo, ncname)
2882# if defined WRITE_WATER && defined MASKING
2883 vinfo(20)=
'mask_rho'
2886 vinfo(22)=
'coordinates'
2893 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
2905# if defined WRITE_WATER && defined MASKING
2906 vinfo(20)=
'mask_rho'
2909 vinfo(22)=
'coordinates'
2916 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
2930# if defined WRITE_WATER && defined MASKING
2934 vinfo(22)=
'coordinates'
2941 &
pio_fout, nvd4, u3dgrd, aval, vinfo, ncname)
2953# if defined WRITE_WATER && defined MASKING
2957 vinfo(22)=
'coordinates'
2964 &
pio_fout, nvd4, v3dgrd, aval, vinfo, ncname)
2976# if defined WRITE_WATER && defined MASKING
2980 vinfo(22)=
'coordinates'
2987 &
pio_fout, nvd3, u2dgrd, aval, vinfo, ncname)
2999# if defined WRITE_WATER && defined MASKING
3003 vinfo(22)=
'coordinates'
3010 &
pio_fout, nvd3, v2dgrd, aval, vinfo, ncname)
3022# if defined WRITE_WATER && defined MASKING
3023 vinfo(20)=
'mask_rho'
3026 vinfo(22)=
'coordinates'
3033 &
pio_fout, nvd4, t3dgrd, aval, vinfo, ncname)
3045# if defined WRITE_WATER && defined MASKING
3046 vinfo(20)=
'mask_rho'
3049 vinfo(22)=
'coordinates'
3056 &
pio_fout, nvd4, t3dgrd, aval, vinfo, ncname)
3068# if defined WRITE_WATER && defined MASKING
3069 vinfo(20)=
'mask_rho'
3072 vinfo(22)=
'coordinates'
3079 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3091# if defined WRITE_WATER && defined MASKING
3092 vinfo(20)=
'mask_rho'
3095 vinfo(22)=
'coordinates'
3102 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3114# if defined WRITE_WATER && defined MASKING
3115 vinfo(20)=
'mask_rho'
3118 vinfo(22)=
'coordinates'
3125 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname)
3134 vinfo( 3)=
'meter second-1'
3137# if defined WRITE_WATER && defined MASKING
3138 vinfo(20)=
'mask_rho'
3141 vinfo(22)=
'coordinates'
3148 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname)
3163 IF (itrc.eq.
idsed(i))
THEN
3164 WRITE (vinfo(19),50) 1000.0_r8*
sd50(i,ng)
3168# if defined WRITE_WATER && defined MASKING
3169 vinfo(20)=
'mask_rho'
3172 vinfo(22)=
'coordinates'
3178 &
qck(ng)%pioTrc(itrc)%vd, &
3179 &
pio_fout, nvd4, t3dgrd, aval, vinfo, ncname)
3195 IF (itrc.eq.
idsed(i))
THEN
3196 WRITE (vinfo(19),50) 1000.0_r8*
sd50(i,ng)
3200# if defined WRITE_WATER && defined MASKING
3201 vinfo(20)=
'mask_rho'
3204 vinfo(22)=
'coordinates'
3211 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3224# if defined WRITE_WATER && defined MASKING
3225 vinfo(20)=
'mask_rho'
3228 vinfo(22)=
'coordinates'
3235 &
pio_fout, nvd4, t3dgrd, aval, vinfo, ncname)
3249# if defined WRITE_WATER && defined MASKING
3250 vinfo(20)=
'mask_rho'
3253 vinfo(22)=
'coordinates'
3260 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3274# if defined WRITE_WATER && defined MASKING
3275 vinfo(20)=
'mask_rho'
3278 vinfo(22)=
'coordinates'
3285 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3298# if defined WRITE_WATER && defined MASKING
3299 vinfo(20)=
'mask_rho'
3302 vinfo(22)=
'coordinates'
3309 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
3310 & setfillval = .false.)
3322# if defined WRITE_WATER && defined MASKING
3323 vinfo(20)=
'mask_rho'
3326 vinfo(22)=
'coordinates'
3333 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
3334 & setfillval = .false.)
3348# if defined WRITE_WATER && defined MASKING
3349 vinfo(20)=
'mask_rho'
3352 vinfo(22)=
'coordinates'
3359 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
3360 & setfillval = .false.)
3364# if defined GLS_MIXING || defined MY25_MIXING
3374# if defined WRITE_WATER && defined MASKING
3375 vinfo(20)=
'mask_rho'
3378 vinfo(22)=
'coordinates'
3385 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
3386 & setfillval = .false.)
3398# if defined WRITE_WATER && defined MASKING
3399 vinfo(20)=
'mask_rho'
3402 vinfo(22)=
'coordinates'
3409 &
pio_fout, nvd4, w3dgrd, aval, vinfo, ncname, &
3410 & setfillval = .false.)
3414# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
3424# if defined WRITE_WATER && defined MASKING
3425 vinfo(20)=
'mask_rho'
3428 vinfo(22)=
'coordinates'
3435 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3439# if defined BULK_FLUXES || defined ECOSIM
3449# if defined WRITE_WATER && defined MASKING
3450 vinfo(20)=
'mask_rho'
3453 vinfo(22)=
'coordinates'
3460 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3470# if defined WRITE_WATER && defined MASKING
3471 vinfo(20)=
'mask_rho'
3474 vinfo(22)=
'coordinates'
3481 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3493# if defined WRITE_WATER && defined MASKING
3494 vinfo(20)=
'mask_rho'
3497 vinfo(22)=
'coordinates'
3504 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3514# if defined WRITE_WATER && defined MASKING
3515 vinfo(20)=
'mask_rho'
3518 vinfo(22)=
'coordinates'
3525 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3537 IF (itrc.eq.
itemp)
THEN
3538 vinfo(11)=
'upward flux, cooling'
3539 vinfo(12)=
'downward flux, heating'
3540 ELSE IF (itrc.eq.
isalt)
THEN
3541 vinfo(11)=
'upward flux, freshening (net precipitation)'
3542 vinfo(12)=
'downward flux, salting (net evaporation)'
3546# if defined WRITE_WATER && defined MASKING
3547 vinfo(20)=
'mask_rho'
3550 vinfo(22)=
'coordinates'
3557 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3562# if defined BULK_FLUXES || defined FRC_COUPLING
3570 vinfo(11)=
'upward flux, cooling'
3571 vinfo(12)=
'downward flux, heating'
3574# if defined WRITE_WATER && defined MASKING
3575 vinfo(20)=
'mask_rho'
3578 vinfo(22)=
'coordinates'
3585 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3595 vinfo(11)=
'upward flux, cooling'
3596 vinfo(12)=
'downward flux, heating'
3599# if defined WRITE_WATER && defined MASKING
3600 vinfo(20)=
'mask_rho'
3603 vinfo(22)=
'coordinates'
3610 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3620 vinfo(11)=
'upward flux, cooling'
3621 vinfo(12)=
'downward flux, heating'
3624# if defined WRITE_WATER && defined MASKING
3625 vinfo(20)=
'mask_rho'
3628 vinfo(22)=
'coordinates'
3635 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3640# if defined BULK_FLUXES
3650# if defined WRITE_WATER && defined MASKING
3651 vinfo(20)=
'mask_rho'
3654 vinfo(22)=
'coordinates'
3661 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3673 vinfo(11)=
'downward flux, freshening (condensation)'
3674 vinfo(12)=
'upward flux, salting (evaporation)'
3677# if defined WRITE_WATER && defined MASKING
3678 vinfo(20)=
'mask_rho'
3681 vinfo(22)=
'coordinates'
3688 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3698 vinfo(11)=
'upward flux, salting (NOT POSSIBLE)'
3699 vinfo(12)=
'downward flux, freshening (precipitation)'
3702# if defined WRITE_WATER && defined MASKING
3703 vinfo(20)=
'mask_rho'
3706 vinfo(22)=
'coordinates'
3713 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3725 vinfo(11)=
'upward flux, freshening (net precipitation)'
3726 vinfo(12)=
'downward flux, salting (net evaporation)'
3729# if defined WRITE_WATER && defined MASKING
3730 vinfo(20)=
'mask_rho'
3733 vinfo(22)=
'coordinates'
3740 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3752 vinfo(11)=
'upward flux, cooling'
3753 vinfo(12)=
'downward flux, heating'
3756# if defined WRITE_WATER && defined MASKING
3757 vinfo(20)=
'mask_rho'
3760 vinfo(22)=
'coordinates'
3767 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3781# if defined WRITE_WATER && defined MASKING
3785 vinfo(22)=
'coordinates'
3792 &
pio_fout, nvd3, u2dgrd, aval, vinfo, ncname)
3804# if defined WRITE_WATER && defined MASKING
3808 vinfo(22)=
'coordinates'
3815 &
pio_fout, nvd3, v2dgrd, aval, vinfo, ncname)
3827# if defined WRITE_WATER && defined MASKING
3831 vinfo(22)=
'coordinates'
3838 &
pio_fout, nvd3, u2dgrd, aval, vinfo, ncname)
3850# if defined WRITE_WATER && defined MASKING
3854 vinfo(22)=
'coordinates'
3861 &
pio_fout, nvd3, v2dgrd, aval, vinfo, ncname)
3865# if (defined BBL_MODEL || defined WAVES_OUTPUT) && defined SOLVE3D
3872 & t2dgrd, u2dgrd, v2dgrd)
3876# if defined ICE_MODEL && defined SOLVE3D
3882 CALL ice_def_pio (ng, model, ldef,
qout,
qck, &
3883 & t2dgrd, u2dgrd, v2dgrd)
3887# if defined SEDIMENT && defined SOLVE3D
3894 & t2dgrd, u2dgrd, v2dgrd)
3898# if defined WEC_VF && defined SOLVE3D
3904 CALL wec_def_pio (ng, model, ldef,
qout,
qck, &
3905 & t2dgrd, u2dgrd, v2dgrd, &
3906 & t3dgrd, u3dgrd, v3dgrd, w3dgrd)
3921 CALL wrt_info (ng, model,
qck(ng)%pioFile, ncname)
3930 query :
IF (.not.ldef)
THEN
3937 WRITE (
stdout,60) trim(ncname)
3944 & piofile =
qck(ng)%pioFile)
3950 & piofile =
qck(ng)%pioFile)
3963 IF (trim(var_name(i)).eq.trim(
vname(1,
idtime)))
THEN
3969 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idpwet)))
THEN
3974 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idrwet)))
THEN
3979 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
iduwet)))
THEN
3984 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvwet)))
THEN
3991 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idpthr)))
THEN
3996 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idpthu)))
THEN
4001 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idpthv)))
THEN
4006 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idpthw)))
THEN
4012 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idfsur)))
THEN
4017 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idubar)))
THEN
4022 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvbar)))
THEN
4027 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idu2de)))
THEN
4032 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idv2dn)))
THEN
4038 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
iduvel)))
THEN
4043 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvvel)))
THEN
4048 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idusur)))
THEN
4053 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvsur)))
THEN
4058 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idu3de)))
THEN
4063 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idv3dn)))
THEN
4068 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idusue)))
THEN
4073 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvsun)))
THEN
4078 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idwvel)))
THEN
4083 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idovel)))
THEN
4088 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
iddano)))
THEN
4094 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idhsbl)))
THEN
4101 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idhbbl)))
THEN
4107 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvvis)))
THEN
4112 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idtdif)))
THEN
4117 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idsdif)))
THEN
4122# if defined GLS_MIXING || defined MY25_MIXING
4123 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idmtke)))
THEN
4128 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idmtls)))
THEN
4134# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
4135 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idpair)))
THEN
4141# if defined BULK_FLUXES || defined ECOSIM
4142 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
iduair)))
THEN
4147 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvair)))
THEN
4152 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
iduaie)))
THEN
4157 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvain)))
THEN
4163# if defined BULK_FLUXES || defined FRC_COUPLING
4164 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idlhea)))
THEN
4169 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idshea)))
THEN
4174 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idlrad)))
THEN
4181 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idtair)))
THEN
4187 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idevap)))
THEN
4192 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idrain)))
THEN
4199 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idempf)))
THEN
4205 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idsrad)))
THEN
4212 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idusms)))
THEN
4217 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvsms)))
THEN
4222 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idubms)))
THEN
4227 ELSE IF (trim(var_name(i)).eq.trim(
vname(1,
idvbms)))
THEN
4235 IF (trim(var_name(i)).eq.trim(
vname(1,
idtvar(itrc))))
THEN
4236 got_var(
idtvar(itrc))=.true.
4240 ELSE IF (trim(var_name(i)).eq. &
4242 got_var(
idsurt(itrc))=.true.
4249 IF (trim(var_name(i)).eq.trim(
vname(1,
idtsur(itrc))))
THEN
4250 got_var(
idtsur(itrc))=.true.
4262 IF (.not.got_var(
idtime))
THEN
4269 IF (.not.got_var(
idpwet))
THEN
4275 IF (.not.got_var(
idrwet))
THEN
4281 IF (.not.got_var(
iduwet))
THEN
4287 IF (.not.got_var(
idvwet))
THEN
4453# if defined GLS_MIXING || defined MY25_MIXING
4467# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
4475# if defined BULK_FLUXES || defined ECOSIM
4501# if defined BULK_FLUXES || defined FRC_COUPLING
4607# if (defined BBL_MODEL || defined WAVES_OUTPUT) && defined SOLVE3D
4617# if defined ICE_MODEL && defined SOLVE3D
4622 CALL ice_def_pio (ng, model, ldef,
qout,
qck)
4625# if defined SEDIMENT && defined SOLVE3D
4634# if defined WEC_VF && defined SOLVE3D
4639 CALL wec_def_pio (ng, model, ldef,
qout,
qck)
4652 qck(ng)%Rindex=min(
qck(ng)%Rindex,rec_size)
4655 10
FORMAT (2x,
'DEF_QUICK_PIO - creating quicksave file,',t56, &
4656 &
'Grid ',i2.2,
': ',a)
4657 20
FORMAT (2x,
'DEF_QUICK_PIO - inquiring quicksave file,',t56, &
4658 &
'Grid ',i2.2,
': ',a)
4659 30
FORMAT (/,
' DEF_QUICK_PIO - unable to create quicksave NetCDF', &
4661 40
FORMAT (
'time dependent',1x,a)
4662 50
FORMAT (1pe11.4,1x,
'millimeter')
4663 60
FORMAT (/,
' DEF_QUICK_PIO - unable to open quicksave NetCDF', &
4665 70
FORMAT (/,
' DEF_QUICK_PIO - unable to find variable: ',a,2x, &
4666 &
' in quicksave NetCDF file: ',a)