!----------------------------------------- ! II.1 Define frequency of output and means ! ----------------------------------------- #if defined key_diainstant zsto = nwrite*rdt clop ="inst(only(x))" #else zsto = rdt clop ="ave(only(x))" #endif zout = nwrite*rdt IF( kt == nit000 ) THEN IF(lwp) WRITE (numout,*) ' Diamld: netCDF initialization' ! II.2 Compute julian date from starting date of the run ! ------------------------ CALL ymds2ju( nyear, nmonth, nday, 0.e0, zjulian ) IF (lwp) WRITE(numout,*)' ' IF (lwp) WRITE(numout,*)' Date 0 used :',nit000 & ,' YEAR ', nyear,' MONTH ', nmonth,' DAY ', nday & ,'Julian day : ', zjulian ! II.3 Define the T grid trend file (nidtrd) ! --------------------------------- CALL dia_nam( clhstnam, nwrite, 'trends' ) ! filename IF(lwp) WRITE(numout,*) ' Name of NETCDF file ', clhstnam CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,1, jpi, & ! Horizontal grid : glamt and gphit 1, jpj, 0, zjulian, rdt, nh_t, nidtrd) IF( isum > 0 ) THEN ! Index of ocean points (2D only) WRITE(numout,*)' Number of invalid points nmld > jpktrd', isum CALL wheneq( jpi*jpj, zvlmsk(:,:) , 1, 1., ndextrd1, ndimtrd1 ) ! volume ELSE CALL wheneq( jpi*jpj, tmask(:,:,1), 1, 1., ndextrd1, ndimtrd1 ) ! surface ENDIF ! Declare output fields as netCDF variables ! Mixed layer Depth CALL histdef( nidtrd, "somlttml", clmxl//"Depth" , "m" , & ! hmlp & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) ! Temperature CALL histdef( nidtrd, "somltemp", clmxl//"Temperature" , "C" , & ! ??? & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) ! Temperature trends CALL histdef( nidtrd, "somlttto", clmxl//"T Total" , "C/s", & ! total & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlttax", clmxl//"T Zonal Advection", "C/s", & ! i-adv. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlttay", clmxl//"T Meridional Advection", "C/s", & ! j-adv. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlttaz", clmxl//"T Vertical Advection", "C/s", & ! vert. adv. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlttdh", clmxl//"T Horizontal Diffusion ", "C/s", & ! hor. lateral diff. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlttfo", clmxl//"T Forcing", "C/s", & ! forcing & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlbtdz", clmxl//"T Vertical Diffusion", "C/s", & ! vert. diff. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlbtdt", clmxl//"T dh/dt Entrainment (Residual)", "C/s", & ! T * dh/dt & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) IF( l_traldf_iso ) THEN CALL histdef( nidtrd, "somlbtdv", clmxl//"T Vert. lateral Diffusion","C/s", & ! vertical diffusion entrainment (ISO) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) ENDIF #if defined key_traldf_eiv CALL histdef( nidtrd, "somlgtax", clmxl//"T Zonal EIV Advection", "C/s", & ! i-adv. (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlgtay", clmxl//"T Meridional EIV Advection", "C/s", & ! j-adv. (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlgtaz", clmxl//"T Vertical EIV Advection", "C/s", & ! vert. adv. (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlgtat", clmxl//"T Total EIV Advection", "C/s", & ! total advection (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) #endif ! Salinity CALL histdef( nidtrd, "somlsalt", clmxl//"Salinity", "PSU", & ! Mixed-layer salinity & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) ! Salinity trends CALL histdef( nidtrd, "somltsto", clmxl//"S Total", "PSU/s", & ! total & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somltsax", clmxl//"S Zonal Advection", "PSU/s", & ! i-advection & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somltsay", clmxl//"S Meridional Advection", "PSU/s", & ! j-advection & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somltsaz", clmxl//"S Vertical Advection", "PSU/s", & ! vertical advection & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somltsdh", clmxl//"S Horizontal Diffusion ", "PSU/s", & ! hor. lat. diff. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somltsfo", clmxl//"S Forcing", "PSU/s", & ! forcing & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlbsdz", clmxl//"S Vertical Diffusion", "PSU/s", & ! vert. diff. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlbsdt", clmxl//"S dh/dt Entrainment (Residual)", "PSU/s", & ! S * dh/dt & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) IF( l_traldf_iso ) THEN ! vertical diffusion entrainment (ISO) CALL histdef( nidtrd, "somlbsdv", clmxl//"S Vertical lateral Diffusion", "PSU/s", & ! vert. lat. diff. & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) ENDIF #if defined key_traldf_eiv CALL histdef( nidtrd, "somlgsax", clmxl//"S Zonal EIV Advection", "PSU/s", & ! i-advection (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlgsay", clmxl//"S Meridional EIV Advection", "PSU/s", & ! j-advection (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlgsaz", clmxl//"S Vertical EIV Advection", "PSU/s", & ! vert. adv. (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) CALL histdef( nidtrd, "somlgsat", clmxl//"S Total EIV Advection", "PSU/s", & ! total adv. (eiv) & jpi, jpj, nh_t, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) #endif CALL histend( nidtrd ) ENDIF