60 USE modi_get_dim_full_n
61 USE modi_ol_define_dim
64 USE modi_def_var_netcdf
65 USE modi_ol_write_coord
67 USE yomhook
,ONLY : lhook, dr_hook
68 USE parkind1
,ONLY : jprb
70 USE modi_get_dim_full_n
84 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
85 INTEGER,
INTENT(IN) :: kluout
90 CHARACTER(LEN=100),
DIMENSION(:),
POINTER :: yname_dim
91 CHARACTER(LEN=100),
DIMENSION(1) :: yatt_title, yatt
92 CHARACTER(LEN=40),
DIMENSION(1) :: ydate
93 CHARACTER(LEN=13),
DIMENSION(1) :: yunit1, yunit2
94 CHARACTER(LEN=100) :: ycomment
95 CHARACTER(LEN=50) :: yfile
96 CHARACTER(LEN=12) :: yrecfm
97 CHARACTER(LEN=2) :: ylvlv
99 INTEGER,
DIMENSION(:),
POINTER :: idims, iddim
102 INTEGER :: ifile_id, jsv
103 INTEGER :: jlayer, jret
105 REAL,
DIMENSION(:),
POINTER :: zx, zy
107 REAL(KIND=JPRB) :: zhook_handle
113 IF (lhook) CALL dr_hook(
'INIT_OUTFN_WATER_N',0,zhook_handle)
118 hprogram, kluout, ini, idim1, yunit1, yunit2, &
119 zx, zy, idims, iddim, yname_dim)
125 IF (
ALLOCATED(xvar_to_fileout))
DEALLOCATE(xvar_to_fileout)
126 IF (
ALLOCATED(xid))
DEALLOCATE(xid)
130 yatt_title(1)=
'units'
132 yfile=
'WATFLUX_DIAGNOSTICS.OUT.nc'
133 CALL
create_file(yfile,idims,yname_dim,ifile_id,iddim)
134 jret=nf_redef(ifile_id)
141 ifile_id,
'CD_WAT' ,
'Drag_Coefficient_For_Momentum ' ,iddim,yatt_title,yatt)
144 ifile_id,
'CH_WAT' ,
'Drag_Coefficient_For_Heat ' ,iddim,yatt_title,yatt)
147 ifile_id,
'CE_WAT' ,
'Drag_Coefficient_For_Evaporation' ,iddim,yatt_title,yatt)
150 ifile_id,
'Z0_WAT' ,
'Roughness_Length_For_Momentum' ,iddim,yatt_title,yatt)
153 ifile_id,
'Z0H_WAT' ,
'Roughness_Length_For_Heat' ,iddim,yatt_title,yatt)
156 IF (dgw%LSURF_VARS)
THEN
159 ifile_id,
'QS_WAT' ,
'Surface_Humidity ' ,iddim,yatt_title,yatt)
165 ifile_id,
'T2M_WAT' ,
'2m_Temperature ' ,iddim,yatt_title,yatt)
167 ifile_id,
'T2MMIN_WAT' ,
'Minimum_2m_Temperature' ,iddim,yatt_title,yatt)
169 ifile_id,
'T2MMAX_WAT' ,
'Maximum_2m_Temperature' ,iddim,yatt_title,yatt)
172 ifile_id,
'Q2M_WAT' ,
'2m_Specific_Humidity ' ,iddim,yatt_title,yatt)
175 ifile_id,
'HU2M_WAT',
'2m_Relative_Humidity ' ,iddim,yatt_title,yatt)
177 ifile_id,
'HU2MMIN_WAT',
'Minimum_2m_Relative_Humidity ' ,iddim,yatt_title,yatt)
179 ifile_id,
'HU2MMAX_WAT',
'Maximum_2m_Relative_Humidity ' ,iddim,yatt_title,yatt)
182 ifile_id,
'ZON10M_WAT',
'10m_Zonal_wind ' ,iddim,yatt_title,yatt)
184 ifile_id,
'MER10M_WAT',
'10m_Meridian_Wind ' ,iddim,yatt_title,yatt)
186 ifile_id,
'W10M_WAT',
'10m_Wind ' ,iddim,yatt_title,yatt)
188 ifile_id,
'W10MMAX_WAT',
'Maximum_10m_Wind ' ,iddim,yatt_title,yatt)
194 ifile_id,
'RI_WAT' ,
'Averaged_Richardson_Number' ,iddim,yatt_title,yatt)
197 IF (dgw%LSURF_BUDGET)
THEN
200 ifile_id,
'RN_WAT' ,
'Averaged_Net_Radiation' ,iddim,yatt_title,yatt)
202 ifile_id,
'H_WAT' ,
'Averaged_Sensible_Heat_Flux' ,iddim,yatt_title,yatt)
204 ifile_id,
'LE_WAT' ,
'Averaged_Total_Latent_Heat_Flux ' ,iddim,yatt_title,yatt)
206 ifile_id,
'LEI_WAT' ,
'Averaged_Sublimation_Latent_Heat_Flux ' ,iddim,yatt_title,yatt)
208 ifile_id,
'GFLUX_WAT' ,
'Averaged_Ground_Heat_Flux ' ,iddim,yatt_title,yatt)
209 IF(dgw%LRAD_BUDGET)
THEN
211 ifile_id,
'SWD_WAT' ,
'Averaged_Downward_SW ' ,iddim,yatt_title,yatt)
213 ifile_id,
'SWU_WAT' ,
'Averaged_Upward_SW ' ,iddim,yatt_title,yatt)
215 ifile_id,
'LWD_WAT' ,
'Averaged_Downward_LW ' ,iddim,yatt_title,yatt)
217 ifile_id,
'LWU_WAT' ,
'Averaged_Upward_LW ' ,iddim,yatt_title,yatt)
221 ifile_id,
'FMU_WAT' ,
'Averaged_Zonal_Wind_Stress ' ,iddim,yatt_title,yatt)
223 ifile_id,
'FMV_WAT' ,
'Averaged_Merid_Wind_Stress ' ,iddim,yatt_title,yatt)
226 ifile_id,
'EVAP_WAT' ,
'Averaged_Evapotranspiration' ,iddim,yatt_title,yatt)
228 ifile_id,
'SUBL_WAT' ,
'Averaged_Sublimation_of_ice' ,iddim,yatt_title,yatt)
231 IF (chw%SVW%NBEQ>0 .AND. chw%CCH_DRY_DEP==
"WES89 ")
THEN
235 DO jsv = 1,
SIZE(chw%CCH_NAMES,1)
237 yrecfm =
'DV_WAT_'//trim(chw%CCH_NAMES(jsv))
238 WRITE(ycomment,
'(A7,I3.3)')
'DV_WAT_',jsv
240 ifile_id,yrecfm,ycomment,iddim,yatt_title,yatt)
247 yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
249 IF (dgw%LSURF_BUDGETC)
THEN
251 yfile=
'WATFLUX_DIAG_CUMUL.OUT.nc'
252 CALL
create_file(yfile,idims,yname_dim,ifile_id,iddim)
253 jret=nf_redef(ifile_id)
257 ifile_id,
'RNC_WAT' ,
'Cumulated_Averaged_Net_Radiation' ,iddim,yatt_title,yatt)
259 ifile_id,
'HC_WAT' ,
'Cumulated_Averaged_Sensible_Heat_Flux' ,iddim,yatt_title,yatt)
261 ifile_id,
'LEC_WAT' ,
'Cumulated_Averaged_Total_Latent_Heat_Flux',iddim,yatt_title,yatt)
263 ifile_id,
'LEIC_WAT' ,
'Cumulated_Averaged_Sublimation_Latent_Heat_Flux',iddim,yatt_title,yatt)
265 ifile_id,
'GFLUXC_WAT',
'Cumulated_Averaged_Ground_Heat_Flux' ,iddim,yatt_title,yatt)
266 IF(dgw%LRAD_BUDGET)
THEN
268 ifile_id,
'SWDC_WAT' ,
'Cumulated_Averaged_Downward_SW ' ,iddim,yatt_title,yatt)
270 ifile_id,
'SWUC_WAT' ,
'Cumulated_Averaged_Upward_SW ' ,iddim,yatt_title,yatt)
272 ifile_id,
'LWDC_WAT' ,
'Cumulated_Averaged_Downward_LW ' ,iddim,yatt_title,yatt)
274 ifile_id,
'LWUC_WAT' ,
'Cumulated_Averaged_Upward_LW ' ,iddim,yatt_title,yatt)
278 ifile_id,
'FMUC_WAT' ,
'Cumulated_Averaged_Zonal_Wind_Stress ' ,iddim,yatt_title,yatt)
280 ifile_id,
'FMVC_WAT' ,
'Cumulated_Averaged_Merid_Wind_Stress ' ,iddim,yatt_title,yatt)
283 ifile_id,
'EVAPC_WAT' ,
'Cumulated_Averaged_Evapotranspiration' ,iddim,yatt_title,yatt)
285 ifile_id,
'SUBLC_WAT' ,
'Cumulated_Averaged_Sublimation_of_ice' ,iddim,yatt_title,yatt)
288 yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
292 yfile=
'WATFLUX_PROGNOSTIC.OUT.nc'
293 CALL
create_file(yfile,idims,yname_dim,ifile_id,iddim)
294 jret=nf_redef(ifile_id)
298 ifile_id,
'TS_WATER' ,
'Water_Temperature ' ,iddim,yatt_title,yatt)
302 ifile_id,
'Z0WATER' ,
'Roughness length ' ,iddim,yatt_title,yatt)
306 WRITE(ylvlv,
'(I2.2)') jlayer
308 ifile_id,
'WAT_SBL_Z'//ylvlv,
'Canopy height',iddim,yatt_title,(/
'm'/))
310 ifile_id,
'WAT_SBL_U'//ylvlv,
'Canopy wind',iddim,yatt_title,(/
'm/s'/))
312 ifile_id,
'WAT_SBL_T'//ylvlv,
'Canopy temp',iddim,yatt_title,(/
'K'/))
314 ifile_id,
'WAT_SBL_Q'//ylvlv,
'Canopy humidity',iddim,yatt_title,(/
'kg/m3'/))
316 ifile_id,
'WAT_SBL_E'//ylvlv,
'Canopy TKE',iddim,yatt_title,(/
'm2/s2'/))
321 yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
323 IF (lhook) CALL dr_hook(
'INIT_OUTFN_WATER_N',1,zhook_handle)
subroutine create_file(HFILE, KDIMS, HNAME_DIM, KFILE_ID, KDIM_ID)
subroutine get_dim_full_n(U, KDIM_FULL)
subroutine ol_write_coord(DGU, HFILE, KFILE_ID, KDDIM, HATT_TITLE, HNAME_DIM, HUNIT1, HUNIT2, KDIM1, HDATE, PX, PY)
subroutine get_date_ol(TPTIME, PTSTEP, HDATE)
subroutine ol_define_dim(UG, U, HPROGRAM, KLUOUT, KNI, KDIM1, HUNIT1, HUNIT2, PX, PY, KDIMS, KDDIM, HNAME_DIM, KNPATCH)
subroutine init_outfn_water_n(CHW, DGU, DGW, UG, U, W, WSB, HPROGRAM, KLUOUT)
subroutine def_var_netcdf(DGU, KFILE_ID, HNAME, HLONG_NAME, KDIM_ID, HATT_TITLE, HATT_TEXT, KVAR_ID, KTYPE, KLEN)