Changeset 5668 for LMDZ6


Ignore:
Timestamp:
May 21, 2025, 11:54:30 AM (3 weeks ago)
Author:
Laurent Fairhead
Message:

Correction of bug for revision 5662 for the 1D

Location:
LMDZ6/trunk/libf/phylmd/dyn1d
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/dyn1d/old_lmdz1d.f90

    r5368 r5668  
    55      SUBROUTINE old_lmdz1d
    66
    7 USE flux_arp_mod_h
     7   USE flux_arp_mod_h
    88      USE compbl_mod_h
    99         USE clesphys_mod_h
    1010      USE ioipsl, only: ju2ymds, ymds2ju, ioconf_calendar,getin
     11   USE phyetat0_get_mod, ONLY : phyetat0_get, phyetat0_srf
    1112   USE phys_state_var_mod, ONLY : phys_state_var_init, phys_state_var_end, &
    1213       clwcon, detr_therm, &
     
    2425       ql_ancien, qs_ancien, qbs_ancien, cf_ancien, rvc_ancien, &
    2526       prlw_ancien, prsw_ancien, prbsw_ancien, prw_ancien, &
    26        u10m,v10m,ale_wake,ale_bl_stat
     27       u10m,v10m,ale_wake,ale_bl_stat, &
     28       hice, tice, bilg_cumul
    2729
    2830
     
    266268!                           <> 0, tendencies of forcing are not added
    267269      INTEGER :: flag_inhib_forcing = 0
     270      LOGICAL :: found
    268271
    269272!=====================================================================
     
    820823!       tsoil(1,11,1)=308.00
    821824!-----------------------------------------------------------------------
    822         call pbl_surface_init(fder, snsrf, qsurfsrf, tsoil)
     825  !GG
     826  ! Sea ice
     827  !IF (iflag_seaice == 2) THEN
     828
     829  found=phyetat0_get(hice,"hice","Ice thickness",0.)
     830  IF (.NOT. found) THEN
     831       PRINT*, "phyetat0: Le champ <hice> est absent"
     832       PRINT*, "Initialisation a hice=1m "
     833       hice(:)=1.0
     834  END IF
     835  found=phyetat0_get(tice,"tice","Sea Ice temperature",0.)
     836  IF (.NOT. found) THEN
     837       PRINT*, "phyetat0: Le champ <tice> est absent"
     838       PRINT*, "Initialisation a tsol_sic"
     839       tice(:)=ftsol(:,is_sic)
     840  END IF
     841  found=phyetat0_get(bilg_cumul,"bilg_cumul","Flux conductivite + transmit sea-ice",0.)
     842  IF (.NOT. found) THEN
     843       PRINT*, "phyetat0: Le champ <bilg_cumul> est absent"
     844       PRINT*, "Initialisation a zero"
     845       bilg_cumul(:)=0.0
     846  END IF
     847
     848  !END IF
     849  !GG
     850        call pbl_surface_init(fder, snsrf, qsurfsrf, tsoil, hice, tice, bilg_cumul)
    823851
    824852!------------------ prepare limit conditions for limit.nc -----------------
  • LMDZ6/trunk/libf/phylmd/dyn1d/scm.f90

    r5627 r5668  
    55   USE clesphys_mod_h
    66   USE ioipsl, only: ju2ymds, ymds2ju, ioconf_calendar,getin
     7   USE phyetat0_get_mod, ONLY : phyetat0_get, phyetat0_srf
    78   USE phys_state_var_mod, ONLY : phys_state_var_init, phys_state_var_end, &
    89       clwcon, detr_therm, &
     
    2425       ql_ancien, qs_ancien, qbs_ancien, cf_ancien, rvc_ancien, &
    2526       prlw_ancien, prsw_ancien, prbsw_ancien, prw_ancien, &
    26        u10m,v10m,ale_wake,ale_bl_stat, ratqs_inter_
     27       u10m,v10m,ale_wake,ale_bl_stat, ratqs_inter_, &
     28       hice, tice, bilg_cumul
    2729
    2830
     
    231233      CHARACTER(len=80) :: abort_message
    232234      CHARACTER(len=20) :: modname = 'scm'
     235      LOGICAL :: found
    233236
    234237      print*,'VOUS ENTREZ DANS LE 1D FORMAT STANDARD'
     
    613616
    614617!-----------------------------------------------------------------------
    615         call pbl_surface_init(fder, snsrf, qsurfsrf, tsoil)
     618  !GG
     619  ! Sea ice
     620  !IF (iflag_seaice == 2) THEN
     621
     622  found=phyetat0_get(hice,"hice","Ice thickness",0.)
     623  IF (.NOT. found) THEN
     624       PRINT*, "phyetat0: Le champ <hice> est absent"
     625       PRINT*, "Initialisation a hice=1m "
     626       hice(:)=1.0
     627  END IF
     628  found=phyetat0_get(tice,"tice","Sea Ice temperature",0.)
     629  IF (.NOT. found) THEN
     630       PRINT*, "phyetat0: Le champ <tice> est absent"
     631       PRINT*, "Initialisation a tsol_sic"
     632       tice(:)=ftsol(:,is_sic)
     633  END IF
     634  found=phyetat0_get(bilg_cumul,"bilg_cumul","Flux conductivite + transmit sea-ice",0.)
     635  IF (.NOT. found) THEN
     636       PRINT*, "phyetat0: Le champ <bilg_cumul> est absent"
     637       PRINT*, "Initialisation a zero"
     638       bilg_cumul(:)=0.0
     639  END IF
     640
     641  !END IF
     642  !GG
     643        call pbl_surface_init(fder, snsrf, qsurfsrf, tsoil, hice, tice, bilg_cumul)
    616644
    617645!------------------ prepare limit conditions for limit.nc -----------------
Note: See TracChangeset for help on using the changeset viewer.