module init_phys_1d_mod implicit none contains #ifdef CPP_1D subroutine init_phys_1d(llm_in,nqtot_in,v,u,temp,q,psurf,time,ap_out,bp_out) !-------------- init_phys_1d ------------- ! ! This function is a copy of the test_phys_1d.F90 initialisation part. ! It is meant to initialize all the variables in modules and for the ouput ! that can't be initialzed via the startfi file. ! ! Basically it reads run.def and save variables values ! !-------------- ------------- USE ioipsl_getincom, only: getin use comcstfi_h, only: pi, rad, omeg, g, mugaz, rcp, r, cpp use time_phylmdz_mod, only: daysec, dtphys, day_step, & ecritphy, iphysiq use planete_h, only: year_day, periheli, aphelie, peri_day,& obliquit, emin_turb, lmixmin use surfdat_h, only: albedodat, z0_default, emissiv, emisice,& albedice, iceradius, dtemisice, z0,& zmea, zstd, zsig, zgam, zthe, phisfi,& watercaptag, watercap, hmons, summit, base,& tsurf, emis,qsurf use infotrac, only: nqtot, tname, nqperes,nqfils use regular_lonlat_mod, only: init_regular_lonlat use mod_grid_phy_lmdz, only : regular_lonlat USE comvert_mod, ONLY: ap,bp,aps,bps,pa,preff,sig,& presnivs,pseudoalt,scaleheight use dimradmars_mod, only: tauvis,totcloudfrac use mod_interface_dyn_phys, only: init_interface_dyn_phys use geometry_mod, only: init_geometry use dimphy, only : init_dimphy USE phys_state_var_init_mod, ONLY: phys_state_var_init use comgeomfi_h, only: sinlat, ini_fillgeom use slope_mod, only: theta_sl, psi_sl use comslope_mod, only: def_slope,subslope_dist,def_slope_mean use dimradmars_mod, only: tauvis,totcloudfrac use dust_param_mod, only: tauscaling use tracer_mod, only: igcm_h2o_vap,igcm_h2o_ice,igcm_co2,noms USE logic_mod, ONLY: hybrid USE vertical_layers_mod, ONLY: init_vertical_layers use comsoil_h, only: volcapa, layer, mlayer, inertiedat, & inertiesoil,nsoilmx,flux_geo USE read_profile_mod, ONLY: read_profile use inichim_newstart_mod, only: inichim_newstart use physics_distribution_mod, only: init_physics_distribution use iostart, only: open_startphy,get_var, close_startphy #ifdef CPP_XIOS use mod_const_mpi, only: COMM_LMDZ #endif include "dimensions.h" integer, parameter :: ngrid = 1 !(2+(jjm-1)*iim - 1/jjm) integer, parameter :: nlayer = llm include "callkeys.h" include "netcdf.inc" !-------------- INPUT VARIABLES ------------- integer, intent(in) :: llm_in,nqtot_in !-------------- OUTPUT VARIABLES ------------- REAL,INTENT(OUT):: u(nlayer),v(nlayer) ! zonal, meridional wind REAL,INTENT(OUT):: temp(nlayer) ! temperature at the middle of the layers REAL,INTENT(OUT) :: q(2,llm_in,nqtot_in) ! tracer mixing ratio (e.g. kg/kg) REAL,INTENT(OUT):: psurf(2) REAL,INTENT(OUT):: time ! time (0