155 & OutRec, i2d, i3d, stime, &
156# ifdef ADJUST_BOUNDARY
158 & LBi, UBi, LBj, UBj, &
167 integer,
intent(in) :: ng, tile, model, outrec, i2d, i3d
168# ifdef ADJUST_BOUNDARY
169 integer,
intent(in) :: lbij, ubij
171 integer :: lbi, ubi, lbj, ubj
173 real(dp),
intent(in) :: stime
175 character (len=*),
intent(in) :: label
181 integer :: sstr, send
182 integer :: fcount, gfactor, gtype, ncid, omode, status
184 integer :: i, itrc, j, k
187 real(r8) :: fmin, fmax
191 character (len=15) :: tstring
192 character (len=22) :: t_code
193 character (len=50) :: string
195 character (len=*),
parameter :: myfile = &
196 & __FILE__//
", wrt_state_nf90"
207 CALL wclock_on (ng, model, 81, __line__, myfile)
213 CALL netcdf_open (ng, model, s(ng)%name, omode, ncid)
219# if defined WRITE_WATER && defined MASKING
227 s(ng)%Rindex=s(ng)%Rindex+1
229 s(ng)%Nrec(fcount)=s(ng)%Nrec(fcount)+1
235 IF (model.eq.
inlm)
THEN
236 string=
'writing NLM state fields,'
237 ELSE IF (model.eq.
itlm)
THEN
238 string=
'writing TLM state fields,'
239 ELSE IF (model.eq.
iadm)
THEN
240 string=
'writing ADM state fields,'
241 ELSE IF (model.eq.
irpm)
THEN
242 string=
'writing RPM state fields,'
246 WRITE (tstring,
'(f15.4)') stime*
sec2day
247 WRITE (
stdout,10) trim(label), trim(string), t_code, &
248 & ng, trim(adjustl(tstring)), trim(s(ng)%name), &
255 tval(1)=real(outrec,dp)*
day2sec
261 & (/outrec/), (/1/), &
263 & varid = s(ng)%Vid(
idtime))
270 IF (model.eq.
itlm)
THEN
274 & lbi, ubi, lbj, ubj, scale, &
276 &
grid(ng) % rmask, &
279 &
ocean(ng) % tl_zeta(:,:,i2d), &
280 & setfillval = .false., &
284 &
ocean(ng) % tl_zeta(:,:,i2d), &
288 ELSE IF (model.eq.
iadm)
THEN
292 & lbi, ubi, lbj, ubj, scale, &
294 &
grid(ng) % rmask, &
297 &
ocean(ng) % ad_zeta(:,:,i2d), &
298 & setfillval = .false., &
302 &
ocean(ng) % ad_zeta(:,:,i2d), &
307 IF (status.ne.nf90_noerr)
THEN
310 & trim(s(ng)%name), outrec
321# ifdef ADJUST_BOUNDARY
327 IF (model.eq.
itlm)
THEN
332 & lbij, ubij,
nbrec(ng), scale, &
333 &
boundary(ng) % tl_zeta_obc(lbij:,:,:, &
337 ELSE IF (model.eq.
iadm)
THEN
342 & lbij, ubij,
nbrec(ng), scale, &
343 &
boundary(ng) % ad_zeta_obc(lbij:,:,:, &
348 IF (status.ne.nf90_noerr)
THEN
351 & trim(label), trim(s(ng)%name), outrec
369 IF (model.eq.
itlm)
THEN
373 & lbi, ubi, lbj, ubj, scale, &
375 &
grid(ng) % umask, &
377 &
ocean(ng) % tl_ubar(:,:,i2d), &
381 ELSE IF (model.eq.
iadm)
THEN
385 & lbi, ubi, lbj, ubj, scale, &
387 &
grid(ng) % umask, &
389 &
ocean(ng) % ad_ubar(:,:,i2d), &
393 IF (status.ne.nf90_noerr)
THEN
396 & trim(s(ng)%name), outrec
407# ifdef ADJUST_BOUNDARY
413 IF (model.eq.
itlm)
THEN
418 & lbij, ubij,
nbrec(ng), scale, &
419 &
boundary(ng) % tl_ubar_obc(lbij:,:,:, &
423 ELSE IF (model.eq.
iadm)
THEN
428 & lbij, ubij,
nbrec(ng), scale, &
429 &
boundary(ng) % ad_ubar_obc(lbij:,:,:, &
434 IF (status.ne.nf90_noerr)
THEN
437 & trim(label), trim(s(ng)%name), outrec
455 IF (model.eq.
itlm)
THEN
459 & lbi, ubi, lbj, ubj, scale, &
461 &
grid(ng) % vmask, &
463 &
ocean(ng) % tl_vbar(:,:,i2d), &
466 ELSE IF (model.eq.
iadm)
THEN
470 & lbi, ubi, lbj, ubj, scale, &
472 &
grid(ng) % vmask, &
474 &
ocean(ng) % ad_vbar(:,:,i2d), &
478 IF (status.ne.nf90_noerr)
THEN
481 & trim(s(ng)%name), outrec
492# ifdef ADJUST_BOUNDARY
498 IF (model.eq.
itlm)
THEN
503 & lbij, ubij,
nbrec(ng), scale, &
504 &
boundary(ng) % tl_vbar_obc(lbij:,:,:, &
508 ELSE IF (model.eq.
iadm)
THEN
513 & lbij, ubij,
nbrec(ng), scale, &
514 &
boundary(ng) % ad_vbar_obc(lbij:,:,:, &
519 IF (status.ne.nf90_noerr)
THEN
522 & trim(label), trim(s(ng)%name), outrec
536# ifdef ADJUST_WSTRESS
544 IF (model.eq.
itlm)
THEN
548 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
550 &
grid(ng) % umask, &
555 ELSE IF (model.eq.
iadm)
THEN
559 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
561 &
grid(ng) % umask, &
568 IF (status.ne.nf90_noerr)
THEN
571 & trim(s(ng)%name),
lfout(ng)
586 IF (model.eq.
itlm)
THEN
590 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
592 &
grid(ng) % vmask, &
598 ELSE IF (model.eq.
iadm)
THEN
602 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
604 &
grid(ng) % vmask, &
610 IF (status.ne.nf90_noerr)
THEN
613 & trim(s(ng)%name),
lfout(ng)
631 IF (model.eq.
itlm)
THEN
635 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
637 &
grid(ng) % umask, &
639 &
ocean(ng) % tl_u(:,:,:,i3d), &
643 ELSE IF (model.eq.
iadm)
THEN
647 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
649 &
grid(ng) % umask, &
651 &
ocean(ng) % ad_u(:,:,:,i3d), &
655 IF (status.ne.nf90_noerr)
THEN
658 & trim(s(ng)%name), outrec
669# ifdef ADJUST_BOUNDARY
675 IF (model.eq.
itlm)
THEN
680 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
681 &
boundary(ng) % tl_u_obc(lbij:,:,:,:, &
685 ELSE IF (model.eq.
iadm)
THEN
690 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
691 &
boundary(ng) % ad_u_obc(lbij:,:,:,:, &
696 IF (status.ne.nf90_noerr)
THEN
699 & trim(label), trim(s(ng)%name), outrec
717 IF (model.eq.
itlm)
THEN
721 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
723 &
grid(ng) % vmask, &
725 &
ocean(ng) % tl_v(:,:,:,i3d), &
728 ELSE IF (model.eq.
iadm)
THEN
732 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
734 &
grid(ng) % vmask, &
736 &
ocean(ng) % ad_v(:,:,:,i3d), &
740 IF (status.ne.nf90_noerr)
THEN
743 & trim(s(ng)%name), outrec
754# ifdef ADJUST_BOUNDARY
760 IF (model.eq.
itlm)
THEN
765 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
766 &
boundary(ng) % ad_v_obc(lbij:,:,:,:, &
770 ELSE IF (model.eq.
iadm)
THEN
775 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
776 &
boundary(ng) % ad_v_obc(lbij:,:,:,:, &
781 IF (status.ne.nf90_noerr)
THEN
784 & trim(label), trim(s(ng)%name), outrec
803 IF (model.eq.
itlm)
THEN
807 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
809 &
grid(ng) % rmask, &
811 &
ocean(ng) % tl_t(:,:,:,i3d,itrc), &
814 ELSE IF (model.eq.
iadm)
THEN
818 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
820 &
grid(ng) % rmask, &
822 &
ocean(ng) % ad_t(:,:,:,i3d,itrc), &
826 IF (status.ne.nf90_noerr)
THEN
829 & trim(label), trim(s(ng)%name), outrec
842# ifdef ADJUST_BOUNDARY
849 IF (model.eq.
itlm)
THEN
854 & lbij, ubij, 1,
n(ng),
nbrec(ng), &
856 &
boundary(ng) % tl_t_obc(lbij:,:,:,:, &
860 ELSE IF (model.eq.
iadm)
THEN
865 & lbij, ubij, 1,
n(ng),
nbrec(ng), &
867 &
boundary(ng) % ad_t_obc(lbij:,:,:,:, &
872 IF (status.ne.nf90_noerr)
THEN
875 & trim(label), trim(s(ng)%name), outrec
900 IF (model.eq.
itlm)
THEN
902 & s(ng)%Vid(
idtsur(itrc)), &
904 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
906 &
grid(ng) % rmask, &
908 &
forces(ng)% tl_tflux(:,:,:, &
912 ELSE IF (model.eq.
iadm)
THEN
914 & s(ng)%Vid(
idtsur(itrc)), &
916 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
918 &
grid(ng) % rmask, &
920 &
forces(ng)% ad_tflux(:,:,:, &
925 IF (status.ne.nf90_noerr)
THEN
928 & trim(label), trim(s(ng)%name),
lfout(ng)
959 CALL wclock_off (ng, model, 81, __line__, myfile)
962 10
FORMAT (1x,a,
': WRT_STATE_NF90 - ',a,t75,a, &
963 & /,24x,
'(Grid ',i2.2,
', t = ',a,
', File: ',a, &
964 &
', Index=',i1,
', Rec=',i0,
')', &
965 & /,24x,
'Called from ''',a,
'''')
966 20
FORMAT (/,
' WRT_STATE_NF90 - error while writing variable: ',a, &
967 & /,18x,
'into ',a,
' NetCDF file: ',a, &
968 & /,18x,
'for time record: ',i0)
969 30
FORMAT (21x,
'- ',a,/,24x,
'(Min = ',1p,e15.8, &
970 &
' Max = ',1p,e15.8,
')')
979 & OutRec, i2d, i3d, stime, &
980# ifdef ADJUST_BOUNDARY
982 & LBi, UBi, LBj, UBj, &
991 integer,
intent(in) :: ng, tile, model, outrec, i2d, i3d
992# ifdef ADJUST_BOUNDARY
993 integer,
intent(in) :: lbij, ubij
995 integer :: lbi, ubi, lbj, ubj
997 real(dp),
intent(in) :: stime
999 character (len=*),
intent(in) :: label
1005 integer :: sstr, send
1006 integer :: fcount, ifield, omode, status
1008 integer :: i, itrc, j, k
1011 real(r8) :: fmin, fmax
1015 character (len=15) :: tstring
1016 character (len=22) :: t_code
1017 character (len=50) :: string
1019 character (len=*),
parameter :: myfile = &
1020 & __FILE__//
", wrt_state_pio"
1022 TYPE (io_desc_t),
pointer :: iodesc
1023 TYPE (file_desc_t) :: piofile
1034 CALL wclock_on (ng, model, 81, __line__, myfile)
1045 s(ng)%Rindex=s(ng)%Rindex+1
1047 s(ng)%Nrec(fcount)=s(ng)%Nrec(fcount)+1
1053 IF (model.eq.
inlm)
THEN
1054 string=
'writing NLM state fields,'
1055 ELSE IF (model.eq.
itlm)
THEN
1056 string=
'writing TLM state fields,'
1057 ELSE IF (model.eq.
iadm)
THEN
1058 string=
'writing ADM state fields,'
1059 ELSE IF (model.eq.
irpm)
THEN
1060 string=
'writing RPM state fields,'
1064 WRITE (tstring,
'(f15.4)') stime*
sec2day
1065 WRITE (
stdout,10) trim(label), trim(string), t_code, &
1066 & ng, trim(adjustl(tstring)), trim(s(ng)%name), &
1073 tval(1)=real(outrec,dp)*
day2sec
1079 & (/outrec/), (/1/), &
1080 & piofile = piofile, &
1081 & piovar = s(ng)%pioVar(
idtime)%vd)
1087 IF (s(ng)%pioVar(
idfsur)%dkind.eq.pio_double)
THEN
1093 IF (model.eq.
itlm)
THEN
1095 & s(ng)%pioVar(
idfsur), outrec, &
1097 & lbi, ubi, lbj, ubj, scale, &
1099 &
grid(ng) % rmask, &
1102 &
ocean(ng) % tl_zeta(:,:,i2d), &
1103 & setfillval = .false., &
1104 & minvalue = fmin, &
1107 &
ocean(ng) % tl_zeta(:,:,i2d), &
1108 & minvalue = fmin, &
1111 ELSE IF (model.eq.
iadm)
THEN
1113 & s(ng)%pioVar(
idfsur), outrec, &
1115 & lbi, ubi, lbj, ubj, scale, &
1117 &
grid(ng) % rmask, &
1120 &
ocean(ng) % ad_zeta(:,:,i2d), &
1121 & setfillval = .false., &
1122 & minvalue = fmin, &
1125 &
ocean(ng) % ad_zeta(:,:,i2d), &
1126 & minvalue = fmin, &
1130 IF (status.ne.pio_noerr)
THEN
1133 & trim(s(ng)%name), outrec
1144# ifdef ADJUST_BOUNDARY
1151 IF (s(ng)%pioVar(ifield)%dkind.eq.pio_double)
THEN
1157 IF (model.eq.
itlm)
THEN
1159 &
vname(1,ifield), &
1160 & s(ng)%pioVar(ifield), outrec, &
1162 & lbij, ubij,
nbrec(ng), scale, &
1163 &
boundary(ng) % tl_zeta_obc(lbij:,:,:, &
1165 & minvalue = fmin, &
1167 ELSE IF (model.eq.
iadm)
THEN
1169 &
vname(1,ifield), &
1170 & s(ng)%pioVar(ifield), outrec, &
1172 & lbij, ubij,
nbrec(ng), scale, &
1173 &
boundary(ng) % ad_zeta_obc(lbij:,:,:, &
1175 & minvalue = fmin, &
1178 IF (status.ne.pio_noerr)
THEN
1181 & trim(label), trim(s(ng)%name), outrec
1188 WRITE (
stdout,30) trim(
vname(2,ifield)), fmin, fmax
1197 IF (s(ng)%pioVar(
idfsur)%dkind.eq.pio_double)
THEN
1203 IF (model.eq.
itlm)
THEN
1205 & s(ng)%pioVar(
idubar), outrec, &
1207 & lbi, ubi, lbj, ubj, scale, &
1209 &
grid(ng) % umask, &
1211 &
ocean(ng) % tl_ubar(:,:,i2d), &
1212 & minvalue = fmin, &
1215 ELSE IF (model.eq.
iadm)
THEN
1217 & s(ng)%pioVar(
idubar), outrec, &
1219 & lbi, ubi, lbj, ubj, scale, &
1221 &
grid(ng) % umask, &
1223 &
ocean(ng) % ad_ubar(:,:,i2d), &
1224 & minvalue = fmin, &
1227 IF (status.ne.pio_noerr)
THEN
1230 & trim(s(ng)%name), outrec
1241# ifdef ADJUST_BOUNDARY
1248 IF (s(ng)%pioVar(ifield)%dkind.eq.pio_double)
THEN
1254 IF (model.eq.
itlm)
THEN
1256 &
vname(1,ifield), &
1257 & s(ng)%pioVar(ifield), outrec, &
1259 & lbij, ubij,
nbrec(ng), scale, &
1260 &
boundary(ng) % tl_ubar_obc(lbij:,:,:, &
1262 & minvalue = fmin, &
1264 ELSE IF (model.eq.
iadm)
THEN
1266 &
vname(1,ifield), &
1267 & s(ng)%pioVar(ifield), outrec, &
1269 & lbij, ubij,
nbrec(ng), scale, &
1270 &
boundary(ng) % ad_ubar_obc(lbij:,:,:, &
1272 & minvalue = fmin, &
1275 IF (status.ne.pio_noerr)
THEN
1278 & trim(label), trim(s(ng)%name), outrec
1285 WRITE (
stdout,30) trim(
vname(2,ifield)), fmin, fmax
1294 IF (s(ng)%pioVar(
idvbar)%dkind.eq.pio_double)
THEN
1300 IF (model.eq.
itlm)
THEN
1302 & s(ng)%pioVar(
idvbar), outrec, &
1304 & lbi, ubi, lbj, ubj, scale, &
1306 &
grid(ng) % vmask, &
1308 &
ocean(ng) % tl_vbar(:,:,i2d), &
1309 & minvalue = fmin, &
1311 ELSE IF (model.eq.
iadm)
THEN
1313 & s(ng)%pioVar(
idvbar), outrec, &
1315 & lbi, ubi, lbj, ubj, scale, &
1317 &
grid(ng) % vmask, &
1319 &
ocean(ng) % ad_vbar(:,:,i2d), &
1320 & minvalue = fmin, &
1323 IF (status.ne.pio_noerr)
THEN
1326 & trim(s(ng)%name), outrec
1337# ifdef ADJUST_BOUNDARY
1344 IF (s(ng)%pioVar(ifield)%dkind.eq.pio_double)
THEN
1350 IF (model.eq.
itlm)
THEN
1352 &
vname(1,ifield), &
1353 & s(ng)%pioVar(ifield), outrec, &
1355 & lbij, ubij,
nbrec(ng), scale, &
1356 &
boundary(ng) % tl_vbar_obc(lbij:,:,:, &
1358 & minvalue = fmin, &
1360 ELSE IF (model.eq.
iadm)
THEN
1362 &
vname(1,ifield), &
1363 & s(ng)%pioVar(ifield), outrec, &
1365 & lbij, ubij,
nbrec(ng), scale, &
1366 &
boundary(ng) % ad_vbar_obc(lbij:,:,:, &
1368 & minvalue = fmin, &
1371 IF (status.ne.pio_noerr)
THEN
1374 & trim(label), trim(s(ng)%name), outrec
1381 WRITE (
stdout,30) trim(
vname(2,ifield)), fmin, fmax
1387# ifdef ADJUST_WSTRESS
1394 IF (s(ng)%pioVar(
idusms)%dkind.eq.pio_double)
THEN
1400 IF (model.eq.
itlm)
THEN
1402 & s(ng)%pioVar(
idusms), outrec, &
1404 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
1406 &
grid(ng) % umask, &
1409 & minvalue = fmin, &
1411 ELSE IF (model.eq.
iadm)
THEN
1413 & s(ng)%pioVar(
idusms), outrec, &
1415 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
1417 &
grid(ng) % umask, &
1420 & minvalue = fmin, &
1423 IF (status.ne.pio_noerr)
THEN
1426 & trim(s(ng)%name),
lfout(ng)
1440 IF (s(ng)%pioVar(
idvsms)%dkind.eq.pio_double)
THEN
1446 IF (model.eq.
itlm)
THEN
1448 & s(ng)%pioVar(
idvsms), outrec, &
1450 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
1452 &
grid(ng) % vmask, &
1455 & minvalue = fmin, &
1458 ELSE IF (model.eq.
iadm)
THEN
1460 & s(ng)%pioVar(
idvsms), outrec, &
1462 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
1464 &
grid(ng) % vmask, &
1467 & minvalue = fmin, &
1470 IF (status.ne.pio_noerr)
THEN
1473 & trim(s(ng)%name),
lfout(ng)
1490 IF (s(ng)%pioVar(
idfsur)%dkind.eq.pio_double)
THEN
1496 IF (model.eq.
itlm)
THEN
1498 & s(ng)%pioVar(
iduvel), outrec, &
1500 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
1502 &
grid(ng) % umask, &
1504 &
ocean(ng) % tl_u(:,:,:,i3d), &
1505 & minvalue = fmin, &
1508 ELSE IF (model.eq.
iadm)
THEN
1510 & s(ng)%pioVar(
iduvel), outrec, &
1512 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
1514 &
grid(ng) % umask, &
1516 &
ocean(ng) % ad_u(:,:,:,i3d), &
1517 & minvalue = fmin, &
1520 IF (status.ne.pio_noerr)
THEN
1523 & trim(s(ng)%name), outrec
1534# ifdef ADJUST_BOUNDARY
1541 IF (s(ng)%pioVar(ifield)%dkind.eq.pio_double)
THEN
1547 IF (model.eq.
itlm)
THEN
1549 &
vname(1,ifield), &
1550 & s(ng)%pioVar(ifield), outrec, &
1552 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
1553 &
boundary(ng) % tl_u_obc(lbij:,:,:,:, &
1555 & minvalue = fmin, &
1557 ELSE IF (model.eq.
iadm)
THEN
1559 &
vname(1,ifield), &
1560 & s(ng)%pioVar(ifield), outrec, &
1562 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
1563 &
boundary(ng) % ad_u_obc(lbij:,:,:,:, &
1565 & minvalue = fmin, &
1568 IF (status.ne.pio_noerr)
THEN
1571 & trim(label), trim(s(ng)%name), outrec
1578 WRITE (
stdout,30) trim(
vname(2,ifield)), fmin, fmax
1587 IF (s(ng)%pioVar(
idvvel)%dkind.eq.pio_double)
THEN
1593 IF (model.eq.
itlm)
THEN
1595 & s(ng)%pioVar(
idvvel), outrec, &
1597 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
1599 &
grid(ng) % vmask, &
1601 &
ocean(ng) % tl_v(:,:,:,i3d), &
1602 & minvalue = fmin, &
1604 ELSE IF (model.eq.
iadm)
THEN
1606 & s(ng)%pioVar(
idvvel), outrec, &
1608 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
1610 &
grid(ng) % vmask, &
1612 &
ocean(ng) % ad_v(:,:,:,i3d), &
1613 & minvalue = fmin, &
1616 IF (status.ne.pio_noerr)
THEN
1619 & trim(s(ng)%name), outrec
1630# ifdef ADJUST_BOUNDARY
1637 IF (s(ng)%pioVar(ifield)%dkind.eq.pio_double)
THEN
1643 IF (model.eq.
itlm)
THEN
1645 &
vname(1,ifield), &
1646 & s(ng)%pioVar(ifield), outrec, &
1648 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
1649 &
boundary(ng) % ad_v_obc(lbij:,:,:,:, &
1651 & minvalue = fmin, &
1653 ELSE IF (model.eq.
iadm)
THEN
1655 &
vname(1,ifield), &
1656 & s(ng)%pioVar(ifield), outrec, &
1658 & lbij, ubij, 1,
n(ng),
nbrec(ng), scale,&
1659 &
boundary(ng) % ad_v_obc(lbij:,:,:,:, &
1661 & minvalue = fmin, &
1664 IF (status.ne.pio_noerr)
THEN
1667 & trim(label), trim(s(ng)%name), outrec
1674 WRITE (
stdout,30) trim(
vname(2,ifield)), fmin, fmax
1684 IF (s(ng)%pioTrc(itrc)%dkind.eq.pio_double)
THEN
1690 IF (model.eq.
itlm)
THEN
1692 & s(ng)%pioTrc(itrc), outrec, &
1694 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
1696 &
grid(ng) % rmask, &
1698 &
ocean(ng) % tl_t(:,:,:,i3d,itrc), &
1699 & minvalue = fmin, &
1701 ELSE IF (model.eq.
iadm)
THEN
1703 & s(ng)%pioTrc(itrc), outrec, &
1705 & lbi, ubi, lbj, ubj, 1,
n(ng), scale, &
1707 &
grid(ng) % rmask, &
1709 &
ocean(ng) % ad_t(:,:,:,i3d,itrc), &
1710 & minvalue = fmin, &
1713 IF (status.ne.pio_noerr)
THEN
1716 & trim(label), trim(s(ng)%name), outrec
1729# ifdef ADJUST_BOUNDARY
1737 IF (s(ng)%pioVar(ifield)%dkind.eq.pio_double)
THEN
1743 IF (model.eq.
itlm)
THEN
1745 &
vname(1,ifield), &
1746 & s(ng)%pioVar(ifield), &
1748 & lbij, ubij, 1,
n(ng),
nbrec(ng), &
1750 &
boundary(ng) % tl_t_obc(lbij:,:,:,:,&
1751 &
lbout(ng),itrc), &
1752 & minvalue = fmin, &
1754 ELSE IF (model.eq.
iadm)
THEN
1756 &
vname(1,ifield), &
1757 & s(ng)%pioVar(ifield), &
1759 & lbij, ubij, 1,
n(ng),
nbrec(ng), &
1761 &
boundary(ng) % ad_t_obc(lbij:,:,:,:,&
1762 &
lbout(ng),itrc), &
1763 & minvalue = fmin, &
1766 IF (status.ne.pio_noerr)
THEN
1769 & trim(label), trim(s(ng)%name), outrec
1776 WRITE (
stdout,30) trim(
vname(2,ifield)), fmin, fmax
1783# ifdef ADJUST_STFLUX
1793 IF (s(ng)%pioVar(ifield)%dkind.eq.pio_double)
THEN
1799 IF (model.eq.
itlm)
THEN
1801 & s(ng)%pioVar(ifield), &
1803 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
1805 &
grid(ng) % rmask, &
1807 &
forces(ng)% tl_tflux(:,:,:, &
1808 &
lfout(ng),itrc), &
1809 & minvalue = fmin, &
1811 ELSE IF (model.eq.
iadm)
THEN
1813 & s(ng)%pioVar(ifield), &
1815 & lbi, ubi, lbj, ubj, 1,
nfrec(ng), scale, &
1817 &
grid(ng) % rmask, &
1819 &
forces(ng)% ad_tflux(:,:,:, &
1820 &
lfout(ng),itrc), &
1821 & minvalue = fmin, &
1824 IF (status.ne.pio_noerr)
THEN
1827 & trim(label), trim(s(ng)%name),
lfout(ng)
1834 WRITE (
stdout,30) trim(
vname(2,ifield)), fmin, fmax
1857 CALL wclock_off (ng, model, 81, __line__, myfile)
1860 10
FORMAT (1x,a,
': WRT_STATE_PIO - ',a,t75,a, &
1861 & /,23x,
'(Grid ',i2.2,
', t = ',a,
', File: ',a, &
1862 &
', Index=',i1,
', Rec=',i0,
')', &
1863 & /,23x,
'Called from ''',a,
'''')
1864 20
FORMAT (/,
' WRT_STATE_PIO - error while writing variable: ',a, &
1865 & /,17x,
'into ',a,
' NetCDF file: ',a, &
1866 & /,17x,
'for time record: ',i0)
1867 30
FORMAT (20x,
'- ',a,/,23x,
'(Min = ',1p,e15.8, &
1868 &
' Max = ',1p,e15.8,
')')