Changeset 3316 for trunk/LMDZ.MARS
- Timestamp:
- Apr 25, 2024, 3:58:31 PM (7 months ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/changelog.txt
r3315 r3316 4623 4623 Fixing a bug in the initialization of sub-grid surface temperatures in the 1D 4624 4624 (subgrid slope index was missing) 4625 4626 == 25/04/2024 == JBC 4627 Reversion of r3305 and r3307. -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/iniphysiq_mod.F90
r3305 r3316 3 3 CONTAINS 4 4 5 subroutine iniphysiq( filename,ii,jj,nlayer,&5 subroutine iniphysiq(ii,jj,nlayer, & 6 6 nbp, communicator, & 7 7 punjours, pdayref,ptimestep, & … … 32 32 include "iniprint.h" 33 33 34 character(*), intent(in) :: filename ! Name of the "startfi.nc" file35 34 real,intent(in) :: prad ! radius of the planet (m) 36 35 real,intent(in) :: pg ! gravitational acceleration (m/s2) … … 72 71 !$OMP PARALLEL COPYIN(day_ini,day_end,hour_ini) 73 72 74 call phys_state_var_init( filename,klon_omp,nlayer,nqtot,tname, &75 day_ini,day_end,hour_ini, 76 punjours,ptimestep, 77 prad,pg,pr,pcpp, 73 call phys_state_var_init(klon_omp,nlayer,nqtot,tname, & 74 day_ini,day_end,hour_ini, & 75 punjours,ptimestep, & 76 prad,pg,pr,pcpp, & 78 77 nqperes,nqfils) ! MVals: variables isotopes 79 78 call ini_fillgeom(klon_omp,latitude,longitude,cell_area) -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/newstart.F
r3305 r3316 391 391 392 392 ! Initialize the physics 393 CALL iniphysiq( 'startfi.nc',iim,jjm,llm,393 CALL iniphysiq(iim,jjm,llm, 394 394 & (jjm-1)*iim+2,comm_lmdz, 395 395 & daysec,day_ini,dtphys, -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/nogcm.F90
r3305 r3316 458 458 ! Physics: 459 459 #ifdef CPP_PHYS 460 CALL iniphysiq( 'startfi.nc',iim,jjm,llm,&461 (jjm-1)*iim+2,comm_lmdz, 462 daysec,day_ini,dtphys/nsplit_phys, 463 rlatu,rlatv,rlonu,rlonv,aire,cu,cv, rad,g,r,cpp,&464 iflag_phys)460 CALL iniphysiq(iim,jjm,llm, & 461 (jjm-1)*iim+2,comm_lmdz, & 462 daysec,day_ini,dtphys/nsplit_phys, & 463 rlatu,rlatv,rlonu,rlonv,aire,cu,cv, & 464 rad,g,r,cpp,iflag_phys) 465 465 #endif 466 466 ENDIF ! of IF ((iflag_phys==1).or.(iflag_phys>=100)) -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/start2archive.F
r3305 r3316 160 160 161 161 ! Initialize the physics 162 fichnom = 'startfi.nc' 163 164 CALL iniphysiq(fichnom,iim,jjm,llm, 162 CALL iniphysiq(iim,jjm,llm, 165 163 & (jjm-1)*iim+2,comm_lmdz, 166 164 & daysec,day_ini,dtphys, … … 168 166 & aire,cu,cv,rad,g,r,cpp,1) 169 167 168 fichnom = 'startfi.nc' 170 169 Lmodif=0 171 170 -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/start2archive_SSO.F
r3305 r3316 173 173 174 174 ! Initialize the physics 175 fichnom = 'startfi.nc' 176 177 CALL iniphysiq(fichnom,iim,jjm,llm, 175 CALL iniphysiq(iim,jjm,llm, 178 176 & (jjm-1)*iim+2,comm_lmdz, 179 177 & daysec,day_ini,dtphys, … … 181 179 & aire,cu,cv,rad,g,r,cpp,1) 182 180 181 fichnom = 'startfi.nc' 183 182 Lmodif=0 184 183 -
trunk/LMDZ.MARS/libf/phymars/dyn1d/init_testphys1d_mod.F90
r3315 r3316 405 405 ! call init_vertical_layers(nlayer,preff,scaleheight,ap,bp,aps,bps,presnivs,pseudoalt) 406 406 call init_dimphy(1,nlayer) ! Initialize dimphy module 407 call phys_state_var_init( startfiname,1,llm,nq,tname,day0,dayn,time,daysec,dttestphys,rad,g,r,cpp,nqperes,nqfils) ! MVals: variables isotopes407 call phys_state_var_init(1,llm,nq,tname,day0,dayn,time,daysec,dttestphys,rad,g,r,cpp,nqperes,nqfils) ! MVals: variables isotopes 408 408 call ini_fillgeom(1,latitude,longitude,(/1.0/)) 409 409 call conf_phys(1,llm,nq) -
trunk/LMDZ.MARS/libf/phymars/phyetat0_mod.F90
r3305 r3316 28 28 use dust_rad_adjust_mod, only: dust_rad_adjust_prev,dust_rad_adjust_next 29 29 use dust_param_mod, only: dustscaling_mode 30 USEioipsl_getin_p_mod, only: getin_p30 use ioipsl_getin_p_mod, only: getin_p 31 31 use comsoil_h, only: flux_geo 32 USEcomslope_mod, only: nslope, major_slope33 USEpaleoclimate_mod, only: paleoclimate, h2o_ice_depth, lag_co2_ice, d_coef34 USEcomcstfi_h, only: pi32 use comslope_mod, only: nslope, major_slope 33 use paleoclimate_mod, only: paleoclimate, h2o_ice_depth, lag_co2_ice, d_coef 34 use comcstfi_h, only: pi 35 35 use geometry_mod, only: latitude 36 36 … … 51 51 ! flag: startphy_file 52 52 !====================================================================== 53 INTEGERnbsrf !Mars nbsrf a 1 au lieu de 454 PARAMETER(nbsrf=1) ! nombre de sous-fractions pour une maille53 integer nbsrf !Mars nbsrf a 1 au lieu de 4 54 parameter (nbsrf=1) ! nombre de sous-fractions pour une maille 55 55 !====================================================================== 56 56 ! Arguments: … … 91 91 integer :: ig, iq, lmax, islope, nid, nvarid, ierr, i, nsrf, nqold 92 92 ! integer :: isoil 93 ! INTEGER:: length94 ! PARAMETER(length=100)95 CHARACTER(7) :: str796 CHARACTER(2) :: str297 CHARACTER(1) :: yes98 99 REAL:: p_rad, p_omeg, p_g, p_mugaz, p_daysec93 ! integer :: length 94 ! parameter (length=100) 95 character(7) :: str7 96 character(2) :: str2 97 character(1) :: yes 98 99 real :: p_rad, p_omeg, p_g, p_mugaz, p_daysec 100 100 101 101 ! flag which identifies if 'startfi.nc' file is using old names (qsurf01,...) … … 105 105 106 106 ! specific for time 107 REAL, ALLOCATABLE:: time(:) ! times stored in start108 INTEGER:: timelen ! number of times stored in the file109 INTEGER:: indextime ! index of selected time110 111 INTEGER:: edges(3),corner(3)112 LOGICAL:: found113 REAL:: timestart ! to pick which initial state to start from114 REAL:: surfemis ! constant emissivity when no startfi115 REAL:: surfalbedo ! constant albedo when no startfi116 REAL:: watercaptag_tmp(ngrid)107 real, allocatable :: time(:) ! times stored in start 108 integer :: timelen ! number of times stored in the file 109 integer :: indextime ! index of selected time 110 111 integer :: edges(3),corner(3) 112 logical :: found 113 real :: timestart ! to pick which initial state to start from 114 real :: surfemis ! constant emissivity when no startfi 115 real :: surfalbedo ! constant albedo when no startfi 116 real :: watercaptag_tmp(ngrid) 117 117 118 118 ! Sub-grid scale slopes 119 LOGICAL:: startphy_slope ! to be retrocompatible and add the nslope dimension120 REAL, ALLOCATABLE:: default_def_slope(:)121 REAL:: sum_dist122 REAL:: current_max !var to find max distrib slope119 logical :: startphy_slope ! to be retrocompatible and add the nslope dimension 120 real, allocatable :: default_def_slope(:) 121 real :: sum_dist 122 real :: current_max !var to find max distrib slope 123 123 124 124 ! Variables for CO2 index 125 INTEGER:: igcm_co2_tmp126 127 CHARACTER(5) :: modname="phyetat0"125 integer :: igcm_co2_tmp 126 127 character(5) :: modname="phyetat0" 128 128 !====================================================================== 129 129 … … 870 870 subroutine ini_tab_controle_dyn_xios(idayref) 871 871 872 USEcomcstfi_h, only: g, mugaz, omeg, rad, rcp873 USE time_phylmdz_mod, ONLY: hour_ini, daysec, dtphys874 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev875 876 IMPLICIT NONE 877 878 INTEGER*4, intent(in) :: idayref ! date (initial date for this run)879 880 INTEGER :: length,l872 use comcstfi_h, only: g, mugaz, omeg, rad, rcp 873 use time_phylmdz_mod, only: hour_ini, daysec, dtphys 874 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat, nbp_lev 875 876 implicit none 877 878 integer*4, intent(in) :: idayref ! date (initial date for this run) 879 880 integer :: length, l 881 881 parameter (length = 100) 882 REAL:: tab_cntrl(length) ! run parameters are stored in this array883 884 DO l=1,length885 tab_cntrl(l) =0.886 ENDDO 882 real :: tab_cntrl(length) ! run parameters are stored in this array 883 884 do l = 1,length 885 tab_cntrl(l) = 0. 886 enddo 887 887 tab_cntrl(1) = real(nbp_lon) 888 888 tab_cntrl(2) = real(nbp_lat-1) -
trunk/LMDZ.MARS/libf/phymars/phys_state_var_init_mod.F90
r3305 r3316 3 3 CONTAINS 4 4 5 SUBROUTINE phys_state_var_init( filename,ngrid,nlayer,nq,tname, &5 SUBROUTINE phys_state_var_init(ngrid,nlayer,nq,tname, & 6 6 day_ini,day_end,hour_ini,pdaysec,ptimestep, & 7 7 prad,pg,pr,pcpp, & … … 69 69 70 70 IMPLICIT NONE 71 72 character(*), intent(in) :: filename ! Name of the "startfi.nc" file 73 integer, intent(IN) :: ngrid,nlayer,nq 74 character(*), intent(IN) :: tname(nq) 75 integer, intent(IN) :: day_ini, day_end 76 real, intent(IN) :: hour_ini 77 real, intent(IN) :: pdaysec, ptimestep, prad, pg, pr, pcpp 71 72 integer, intent(in) :: ngrid, nlayer, nq 73 character(*), intent(in) :: tname(nq) 74 integer, intent(in) :: day_ini, day_end 75 real, intent(in) :: hour_ini 76 real, intent(in) :: pdaysec, ptimestep, prad, pg, pr, pcpp 78 77 !MVals isotopes 79 78 integer, intent(in) :: dyn_nqperes 80 79 integer, intent(in) :: dyn_nqfils(nq) 81 integer :: ncid, status, nslope_dim_id 82 integer :: nslope_read 80 character(10) :: filename ! name of the startfi.nc 81 integer :: ncid, status, nslope_dim_id 82 integer :: nslope_read 83 83 84 filename = "startfi.nc" 84 85 if(is_master) then 85 86 status = nf90_open(filename, nf90_nowrite, ncid)
Note: See TracChangeset
for help on using the changeset viewer.