Changeset 3054
- Timestamp:
- Sep 27, 2023, 11:14:02 AM (14 months ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/changelog.txt
r3053 r3054 4214 4214 == 27/09/2023 == JBC 4215 4215 Upgrade of "testphys1d" to Fortran 90. Cleaning of the subroutine and minor optimizations of the code. 4216 Correction of a bug: 'inertiedat(1,1)' was overwritten by 'inertieice'. -
trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F90
r3053 r3054 35 35 use iostart, only: open_startphy, get_var, close_startphy 36 36 use write_output_mod, only: write_output 37 ! Mostly for XIOS outputs: 37 ! Mostly for XIOS outputs: 38 38 use mod_const_mpi, only: init_const_mpi, COMM_LMDZ 39 39 use parallel_lmdz, only: init_parallel … … 190 190 191 191 if (startfiles_1D) then 192 inquire(file = 'start1D.txt',exist = therestart1D) 192 inquire(file = 'start1D.txt',exist = therestart1D) 193 193 if (.not. therestart1D) then 194 194 write(*,*) 'There is no "start1D.txt" file!' 195 195 write(*,*) 'Initialization is done with default values.' 196 196 endif 197 inquire(file = 'startfi.nc',exist = therestartfi) 197 inquire(file = 'startfi.nc',exist = therestartfi) 198 198 if (.not. therestartfi) then 199 199 write(*,*) 'There is no "startfi.nc" file!' … … 224 224 obliquit = 25.2 ! Obliquity (deg) ~25.2 225 225 excentric = 0.0934 ! Eccentricity (0.0934) 226 226 227 227 ! Planetary Boundary Layer and Turbulence parameters 228 228 ! -------------------------------------------------- … … 230 230 emin_turb = 1.e-6 ! minimal turbulent energy ~1.e-8 231 231 lmixmin = 30 ! mixing length ~100 232 232 233 233 ! cap properties and surface emissivities 234 234 ! --------------------------------------- … … 312 312 continu = .false. 313 313 else !if (tnom_transp(iq) == tnom_0(ipere)) then 314 ipere = ipere + 1 314 ipere = ipere + 1 315 315 if (ipere > nqtot) then 316 316 write(*,*) 'Le traceur',iq,'appele ',trim(tname(iq)),', est orpelin.' … … 406 406 pa = 20. ! transition pressure (for hybrid coord.) 407 407 preff = 610. ! reference surface pressure 408 408 409 409 ! Aerosol properties 410 410 ! ------------------ … … 425 425 write(*,*) 'Martian eccentricity (0<e<1)?' 426 426 call getin('excentric ',excentric) 427 write(*,*)"excentric =",excentric 427 write(*,*)"excentric =",excentric 428 428 write(*,*) 'Solar longitude of perihelion (0<Ls<360)?' 429 429 call getin('Lsperi',Lsperi ) 430 write(*,*)"Lsperi=",Lsperi 430 write(*,*)"Lsperi=",Lsperi 431 431 Lsperi = Lsperi*pi/180.0 ! Put it in rad for peri_day 432 432 periheli = halfaxe*(1 - excentric) … … 458 458 endif 459 459 endif !(.not. startfiles_1D ) 460 460 461 461 ! Latitude/longitude 462 462 ! ------------------ … … 528 528 def_slope(1) = -90 ! minimum slope angle 529 529 def_slope(2) = 90 ! maximum slope angle 530 subslope_dist(1,1) = 1 ! fraction of subslopes in mesh 530 subslope_dist(1,1) = 1 ! fraction of subslopes in mesh 531 531 532 532 ! For the gravity wave scheme … … 611 611 if (latitude(1) < 0) emis = emisice(2) ! southern hemisphere 612 612 endif 613 endif !(.not. startfiles_1D ) 613 endif !(.not. startfiles_1D ) 614 614 615 615 ! Compute pressures and altitudes of atmospheric levels … … 661 661 662 662 ! Creating the new soil inertia table if there is subsurface ice: 663 if (ice_depth > 0) then 663 if (ice_depth > 0) then 664 664 iref = 1 ! ice/regolith boundary index 665 665 if (ice_depth < layer(1)) then 666 666 inertiedat(1,1) = sqrt(layer(1)/((ice_depth/inertiedat(1,1)**2) + ((layer(1) - ice_depth)/inertieice**2))) 667 inertiedat(1, :) = inertieice667 inertiedat(1,2:) = inertieice 668 668 else ! searching for the ice/regolith boundary: 669 do isoil = 1,nsoil 669 do isoil = 1,nsoil 670 670 if ((ice_depth >= layer(isoil)) .and. (ice_depth < layer(isoil + 1))) then 671 671 iref = isoil + 1 … … 680 680 inertiedat(1,iref + 1:) = inertieice 681 681 endif ! (ice_depth < layer(1)) 682 else ! ice_depth < 0 all is set to surface thermal inertia682 else ! ice_depth < 0 all is set to surface thermal inertia 683 683 inertiedat(1,:) = inertiedat(1,1) ! soil thermal inertia 684 684 endif ! ice_depth > 0 … … 888 888 889 889 END PROGRAM testphys1d 890 890 891 891 !*********************************************************************** 892 892 !*********************************************************************** … … 909 909 910 910 END SUBROUTINE gr_fi_dyn 911 911 912 912 !*********************************************************************** 913 913 !*********************************************************************** 914
Note: See TracChangeset
for help on using the changeset viewer.