41 USE modi_init_io_surf_n
43 USE modi_end_io_surf_n
57 TYPE(
diag_t),
INTENT(INOUT) :: DI
58 TYPE(
diag_t),
INTENT(INOUT) :: DIC
60 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
66 CHARACTER(LEN=12) :: YRECFM
67 CHARACTER(LEN=100):: YCOMMENT
68 CHARACTER(LEN=2) :: YNUM
71 REAL(KIND=JPRB) :: ZHOOK_HANDLE
77 IF (
lhook)
CALL dr_hook(
'WRITE_DIAG_SEB_SEAICE_N',0,zhook_handle)
79 CALL init_io_surf_n(dtco, u, hprogram,
'SEA ',
'SEAFLX',
'WRITE',
'SEAFLUX_DIAGNOSTICS.OUT.nc' 87 ycomment=
'X_Y_'//yrecfm
89 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XRI(:),iresp,hcomment=ycomment
96 IF (dso%LSURF_BUDGET)
THEN 99 ycomment=
'X_Y_'//yrecfm//
' (W/m2)' 101 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XRN(:),iresp,hcomment=ycomment
104 ycomment=
'X_Y_'//yrecfm//
' (W/m2)' 106 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XH(:),iresp,hcomment=ycomment
109 ycomment=
'X_Y_'//yrecfm//
' (W/m2)' 111 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XLE(:),iresp,hcomment=ycomment
114 ycomment=
'X_Y_'//yrecfm//
' (W/m2)' 116 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XGFLUX(:),iresp,hcomment
118 IF (dso%LRAD_BUDGET)
THEN 121 ycomment=
'X_Y_'//yrecfm//
' (W/m2)' 123 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XSWU(:),iresp,hcomment
126 ycomment=
'X_Y_'//yrecfm//
' (W/m2)' 128 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XLWU(:),iresp,hcomment
130 DO jsw=1,
SIZE(di%XSWBU,2)
133 yrecfm=
'SWU_SEAICE_'//ynum
134 ycomment=
'X_Y_'//yrecfm//
' (W/m2)' 136 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XSWBU(:,jsw),iresp
143 ycomment=
'X_Y_'//yrecfm//
' (kg/ms2)' 145 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XFMU(:),iresp,hcomment
148 ycomment=
'X_Y_'//yrecfm//
' (kg/ms2)' 150 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XFMV(:),iresp,hcomment
154 IF (dso%LSURF_BUDGETC)
THEN 157 ycomment=
'X_Y_'//yrecfm//
' (J/m2)' 159 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XRN(:),iresp,hcomment
162 ycomment=
'X_Y_'//yrecfm//
' (J/m2)' 164 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XH(:),iresp,hcomment=ycomment
167 ycomment=
'X_Y_'//yrecfm//
' (J/m2)' 169 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XLE(:),iresp,hcomment
171 yrecfm=
'GFLXC_SEAICE' 172 ycomment=
'X_Y_'//yrecfm//
' (J/m2)' 174 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XGFLUX(:),iresp,hcomment
175 IF (dso%LRAD_BUDGET .OR. (dso%LSURF_BUDGETC .AND. .NOT.duo%LRESET_BUDGETC
THEN 178 ycomment=
'X_Y_'//yrecfm//
' (J/m2)' 180 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XSWU(:),iresp,hcomment
183 ycomment=
'X_Y_'//yrecfm//
' (J/m2)' 185 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XLWU(:),iresp,hcomment
190 ycomment=
'X_Y_'//yrecfm//
' (kg/ms)' 192 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XFMU(:),iresp,hcomment
195 ycomment=
'X_Y_'//yrecfm//
' (kg/ms)' 197 CALL write_surf(duo%CSELECT,hprogram,yrecfm,dic%XFMV(:),iresp,hcomment
207 ycomment=
'X_Y_'//yrecfm//
' (W/s2)' 209 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XCD(:),iresp,hcomment=ycomment
212 ycomment=
'X_Y_'//yrecfm//
' (W/s)' 214 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XCH(:),iresp,hcomment=ycomment
217 ycomment=
'X_Y_'//yrecfm//
' (M)' 219 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XZ0(:),iresp,hcomment=ycomment
222 ycomment=
'X_Y_'//yrecfm//
' (M)' 224 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XZ0H(:),iresp,hcomment
232 IF (dso%LSURF_VARS)
THEN 234 ycomment=
'X_Y_'//yrecfm//
' (KG/KG)' 236 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XQS(:),iresp,hcomment=ycomment
248 ycomment=
'X_Y_'//yrecfm//
' (K)' 250 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XT2M(:),iresp,hcomment
253 ycomment=
'X_Y_'//yrecfm//
' (KG/KG)' 255 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XQ2M(:),iresp,hcomment
258 ycomment=
'X_Y_'//yrecfm//
' (-)' 260 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XHU2M(:),iresp,hcomment
262 yrecfm=
'ZON10M_SEAICE' 263 ycomment=
'X_Y_'//yrecfm//
' (M/S)' 265 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XZON10M(:),iresp,hcomment
267 yrecfm=
'MER10M_SEAICE' 268 ycomment=
'X_Y_'//yrecfm//
' (M/S)' 270 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XMER10M(:),iresp,hcomment
273 ycomment=
'X_Y_'//yrecfm//
' (M/S)' 275 CALL write_surf(duo%CSELECT,hprogram,yrecfm,di%XWIND10M(:),iresp,hcomment
283 IF (
lhook)
CALL dr_hook(
'WRITE_DIAG_SEB_SEAICE_N',1,zhook_handle)
subroutine write_diag_seb_seaice_n(DTCO, DUO, U, DSO, DI, DIC, HP
subroutine end_io_surf_n(HPROGRAM)
subroutine init_io_surf_n(DTCO, U, HPROGRAM, HMASK, HSCHEME, HACTION