Changeset 4177


Ignore:
Timestamp:
Apr 9, 2026, 2:42:11 PM (6 hours ago)
Author:
jmauxion
Message:

Mars PCM:

  • Adding write_output for inertiedat.
  • Adding an icelocationmode = 6 that uses surface thermal inertia to

prescribe watercaptag. Can be irrelevant if the spatial resolution is too
coarse.
JM

Location:
trunk/LMDZ.MARS
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/changelog.txt

    r4169 r4177  
    51675167- Updating xml files accordingly.
    51685168- Switching localtime and zrecast back to previous version (undoing changes in r4161).
     5169
     5170== 09/04/2026 == JM
     5171- Adding write_output for inertiedat.
     5172- Adding an icelocationmode = 6 that uses surface thermal inertia to
     5173prescribe watercaptag. Can be irrelevant if the spatial resolution is too
     5174coarse.
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r4169 r4177  
    33393339         call write_output("watercaptag","Watercap tag"
    33403340     &         ,"Boolean",watercaptag(:))
     3341         call write_output("inertiedat","Soil inertia",
     3342     &                 "J/kg/K",inertiedat(:,:))
    33413343         if (grid_type == regular_lonlat) then
    33423344           call write_output("area","Mesh area","m2",
     
    34473449     &                 "K",tsoil(:,:,iflat))
    34483450      call write_output("inertiedat","Soil inertia",
    3449      &                 "K",inertiedat(:,:))
     3451     &                 "J/kg/K",inertiedat(:,:))
    34503452#endif
    34513453
  • trunk/LMDZ.MARS/libf/phymars/surfini_mod.F90

    r3903 r4177  
    99! icelocationmode = 4 ---> predefined 64x48 but usable with every
    1010! resolution, and easily adaptable for dynamico
     11! icelocationmode = 5 ---> uses the watercaptag as stored in startfi.nc
     12! icelocationmode = 6 ---> build watercaptag based on surface line from inertiedat
    1113! For visualisation : > /u/tnalmd/bin/watercaps gcm_txt_output_file
    1214integer :: icelocationmode = 5
     
    3234      use mod_phys_lmdz_para, only : is_master, gather, scatter
    3335#endif
     36      use comsoil_h, only: inertiedat, nsoilmx
    3437      USE comcstfi_h, ONLY: pi
    3538      use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat
     
    112115#if CPP_PARA
    113116      logical watercaptag_glo(klon_glo)
     117      real inertiedat_glo(klon_glo,nsoilmx)
    114118      real dryness_glo(klon_glo)
    115119      real lati_glo(klon_glo)
     
    117121#else
    118122      logical watercaptag_glo(ngrid)
     123      real inertiedat_glo(ngrid,nsoilmx)
    119124      real dryness_glo(ngrid)
    120125      real lati_glo(ngrid)
     
    172177      call gather(longitude,long_glo)
    173178      call gather(watercaptag,watercaptag_glo)
     179      call gather(inertiedat,inertiedat_glo)
    174180
    175181      if (is_master) then
     
    449455         write(*,*)'Surfini: ice caps defined using startfi.nc data'
    450456
     457            case(6) ! icelocationmode == 6
     458
     459         ! CAUTION (JM): this mode is irrelevant for too coarse spatial
     460         ! resolutions (irrelevant for 64x48 in lonlat and nbp=15 in dynamico
     461         ! for instance).
     462         write(*,*)'icelocationmode = 6'
     463         write(*,*)'Surfini: ice caps defined using surface inertiedat (first line)'
     464
     465         ! North pole always has an ice cap, South pole doesn't as
     466         ! we only consider North hemisphere
     467         watercaptag_glo(1) = .true.
     468         watercaptag_glo(klon_glo) = .false.
     469         do ig=2, klon_glo-1
     470            if ((inertiedat_glo(ig,1) > min_icevalue).and. &
     471                (lati_glo(ig)>0.)) then
     472              watercaptag_glo(ig) = .true.
     473            endif
     474         enddo
     475
    451476            case default
    452477
    453478         write(*,*) 'In surfini.F, icelocationmode is ', icelocationmode
    454          write(*,*) 'It should be 1, 2, 3, 4 or 5 (default is 5)'
     479         write(*,*) 'It should be 1, 2, 3, 4, 5 or 6 (default is 5)'
    455480         call abort_physic("surfini","wrong icelocationmode",1)
    456481
Note: See TracChangeset for help on using the changeset viewer.