6 SUBROUTINE init_output_nc_n (BDD, CHE, CHN, CHU, DTS, DTT, DTZ, IM, UG, U, HSELECT)
54 USE modd_data_cover_par
, ONLY : nvegtype, jpcover
62 USE modi_get_bld_conf_n
63 USE modi_get_data_seaflux_conf_n
64 USE modi_get_isba_conf_n
65 USE modi_ol_define_dim
68 USE modi_get_dim_full_n
69 USE modi_def_var_netcdf
91 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
93 CHARACTER(LEN=100),
DIMENSION(:),
POINTER :: YNAME_DIM
94 CHARACTER(LEN=100),
DIMENSION(1) :: YATT_TITLE, YATT
95 CHARACTER(LEN=13),
DIMENSION(1) :: YUNIT1, YUNIT2
96 CHARACTER(LEN=3) :: YISBA
98 REAL,
DIMENSION(:),
POINTER :: ZX, ZY
100 INTEGER,
DIMENSION(:),
POINTER :: IDIMS, IDDIM
101 INTEGER :: IDIM1, INDIMS
102 INTEGER :: INI, INPATCH, INLVLD, INLVLS, INBIOMASS, &
103 INLITTER, INLITTLEVS, INSOILCARB
104 INTEGER :: IDESC_ROOF_LAYER, IDESC_ROAD_LAYER, IDESC_WALL_LAYER
106 INTEGER :: IRET, IL, IFULL, ISNAP, INLATI, ISNOW_LAYER
107 INTEGER :: ILUOUT, IDIMID, ITIME, ITOT
110 LOGICAL :: GEXIST, GOPENED, GSST_DATA
111 LOGICAL :: GDATA_BLDTYPE, GDATA_BLD_AGE, GDATA_USETYPE
113 REAL(KIND=JPRB) :: ZHOOK_HANDLE
115 IF (
lhook)
CALL dr_hook(
'INIT_OUTPUT_NC_N',0,zhook_handle)
122 IF (.NOT.gopened)
THEN 128 yisba, inpatch, inlvld, inlvls, inbiomass, &
129 inlitter, inlittlevs, insoilcarb)
134 CALL ol_define_dim(ug, u%NSIZE_FULL,
'NOTIME ', iluout, ifull, idim1
137 CALL ol_define_dim(ug, u%NSIZE_FULL,
'NOTIME ', iluout, ifull, idim1
142 CALL ol_define_dim(ug, u%NSIZE_FULL,
'NOTIME ', iluout, ifull, idim1
145 CALL ol_define_dim(ug, u%NSIZE_FULL,
'NOTIME ', iluout, ifull, idim1
159 IF (
csoftware==
'PGD') iret = nf90_def_dim(
nid_nc,
"Nb_of_input_data",nvegtype
161 iret = nf90_def_dim(
nid_nc,
"Number_of_covers",jpcover,idimid)
166 isnow_layer = im%NPE%AL(1)%TSNOW%NLAYER
169 yisba, inpatch, inlvld, inlvls, inbiomass, &
170 inlitter, inlittlevs, insoilcarb)
171 IF (yisba==
'DIF') iret = nf90_def_dim(
nid_nc,
"Nground_layers",inlvld
173 IF (gsst_data) iret = nf90_def_dim(
nid_nc,
"Number_of_dates",itime,idimid
174 CALL get_bld_conf_n(bdd, dtt, gdata_bldtype, gdata_bld_age, gdata_usetype
177 IF (gdata_bldtype .OR. gdata_bld_age .OR. gdata_usetype)
THEN 178 itot = (21+3*idesc_roof_layer+3*idesc_road_layer+3*idesc_wall_layer
180 "Bld_dimensions ",7,idimid)
181 iret = nf90_def_dim(
nid_nc,
"Bld_parameters ",itot,idimid)
183 IF (chu%LCH_EMIS)
THEN 184 IF (chu%CCH_EMIS==
'AGGR')
THEN 185 IF (che%NEMIS_NBR/=0) iret = nf90_def_dim(
nid_nc,
"Temporal_emiss " 186 ELSE IF (chu%CCH_EMIS==
'SNAP')
THEN 187 isnap = max(chn%NSNAP_M,chn%NSNAP_D,chn%NSNAP_H)
188 IF (isnap/=0 .AND. chn%NEMIS_SNAP/=0)
THEN 189 iret = nf90_def_dim(
nid_nc,
"Nemis_snap",chn%NEMIS_SNAP,idimid
190 "Nsnap_temp",isnap,idimid)
194 IF (
ASSOCIATED(dtz%XDATA_DTS))
THEN 195 itime =
SIZE(dtz%XDATA_DTS)
196 IF (itime/=0) iret = nf90_def_dim(
nid_nc,
"Nforc_tsz0",itime,idimid
199 IF (ug%G%CGRID==
'GAUSS')
THEN 201 iret = nf90_def_dim(
nid_nc,
"Nlati",inlati,idimid)
213 IF (
lhook)
CALL dr_hook(
'INIT_OUTPUT_NC_N',1,zhook_handle)
subroutine get_data_seaflux_conf_n(DTS, OSST_DATA, KTIME)
character(len=28), save cfileout_nc
character(len=28), save cfileout_nc_save
subroutine get_dim_full_n(KDIM_FULL_IN, KDIM_FULL_OUT)
subroutine ol_define_dim(UG, KSIZE_FULL, HPROGRAM, KLUOUT, KNI, KDIM1, HUNIT1, HUNIT2, PX, PY, KDIMS, KDDIM, HNAME_DIM, KNPATCH, KNSNLAYER, PLAT, PLON)
character(len=7) csoftware
subroutine create_file(HFILE, KDIMS, HNAM_DIM, KFILE_ID, KDIM_ID)
subroutine get_isba_conf_n(IO, KSNOW_LAYER_IN, HISBA, KPATCH, KGROUND_LAYER, KSNOW_LAYE
subroutine init_output_nc_n(BDD, CHE, CHN, CHU, DTS, DTT, DTZ, IM
subroutine get_gridtype_gauss(PGRID_PAR, KNLATI, PLAPO, PLOPO, PCODIL, KNLOPA, KL, PLAT, PLON, PLAT_XY, PLON_XY, PMESH_SIZE, PLONINF, PLATINF, PLONSUP, PLATSUP)
subroutine get_bld_conf_n(BDD, DTT, ODATA_BLDTYPE, ODATA_BLD_AGE, ODATA_USE