Changeset 6177


Ignore:
Timestamp:
Apr 19, 2026, 2:16:40 PM (2 weeks ago)
Author:
evignon
Message:

petits ajustements dans les nouvelles params de banquise

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

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/limit_read_mod.f90

    r5968 r6177  
    462462             IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <SST>',1)
    463463           !GG
    464              IF (iflag_seaice == 1) THEN
     464             IF (iflag_seaice == 2) THEN
    465465               ierr = NF90_INQ_VARID(nid, 'HICE', nvarid)
    466466               IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <HICE> est absent',1)
  • LMDZ6/trunk/libf/phylmd/ocean_forced_mod.F90

    r6176 r6177  
    467467
    468468! albedo  and radiation parameters
    469       INTEGER :: iflag_sic_albedo
    470 ! albedo old or NEMO
    471469      REAL :: alb_sno_dry!=rn_alb_sdry !dry snow albedo
    472470      REAL :: alb_sno_wet!=rn_alb_smlt !wet snow albedo
     
    511509      IF (check) WRITE (*, *) 'Entering surface_seaice, knon=', knon
    512510
    513       iflag_sic_albedo = iflag_seaice_alb
    514 
    515       IF (iflag_seaice .GE. 1) THEN
     511      IF (iflag_seaice .GE. 1 .OR. iflag_seaice_alb .GE. 1) THEN
    516512         sno_den = sisno_den !mean snow density, kg/m3
    517513         ice_cond = sice_cond*ice_den !conductivity of ice
     
    675671
    676672         ! if iflag_seaice = 0, we fix the sea-ice thickness to a constant value
    677          ! this only serves for albedo calculation if iflag_sic_albedo >=1
     673         ! this only serves for albedo calculation if iflag_seaice_alb >=1
    678674         DO i = 1, knon
    679675            ki = knindex(i)
     
    736732!#ifdef ISO
    737733
    738       ELSE
     734      ELSE ! iflag_seaice >= 1
     735
     736         icesub(:) = 0.
     737         icemelt(:) = 0.
    739738
    740739         ! if iflag_seaice = 1, we fix the sea-ice thickness to a constant value
     740         ! NB another idea could be testing the formula by Krinner et al. 1997 : h = (0.2 + 3.8(f**2))(1 + 2(f- f_min))
     741         ! Over the Svalbard region in April 2022, G. Nitti found h = (a + b f**2)(1 + 2(f-fmin)) a=0.166, b=0.911 and fmin=0.351
    741742         IF (iflag_seaice .EQ. 1) THEN
    742743               hice(:) = sic_hice_fixed
     
    755756         END IF
    756757
    757          ! NB another idea could be testing the formula by Krinner et al. 1997 : h = (0.2 + 3.8(f**2))(1 + 2(f- f_min))
    758          ! Over the Svalbard region in April 2022, G. Nitti found h = (a + b f**2)(1 + 2(f-fmin)) a=0.166, b=0.911 and fmin=0.351
    759 
    760758         DO i = 1, knon
    761759
     
    767765            END IF
    768766            ! snow and ice sublimation
    769             IF (evap(i) > 0.) THEN
    770                snow_evap = MIN(snow(i)/dtime, evap(i))
     767               snow_evap = MIN(snow(i)/dtime, evap(i))
    771768               snow(i) = snow(i) - snow_evap*dtime
    772769               snow(i) = MAX(0.0, snow(i))
    773                IF (iflag_seaice == 2) THEN
    774                   hice(ki) = MAX(0.0, hice(ki) - (evap(i) - snow_evap)*dtime/ice_den)
     770               icesub(i) = evap(i) - snow_evap ! diagnostics
     771               ! in case of interactive calculation of hice
     772               IF (iflag_seaice == 3) THEN
     773                  hice(ki) = MAX(0.0, hice(ki) - (icesub(i))*dtime/ice_den)
    775774               END IF
    776             END IF
    777775            ! Melt / Freeze snow from above if Tsurf>0
    778776            IF (tsurf_new(i) .GT. t_melt) THEN
     
    785783                  snow(i) = snow(i) - e_melt
    786784                  tsurf_new(i) = t_melt
     785                  icemelt(i) = 0.
    787786               ELSE ! all snow is melted
    788                   ! add remaining heat flux to ice
     787                    ! add remaining heat flux to ice
    789788                  e_melt = e_melt - snow(i)
     789                  icemelt(i) = e_melt
    790790                  tice(ki) = tice(ki) + e_melt*ice_lat*2./(ice_cap*hice(ki)*ice_den)
    791791                  tsurf_new(i) = tice(ki)
     
    940940!****************************************************************************************
    941941
    942       SELECT CASE (iflag_sic_albedo)
     942      SELECT CASE (iflag_seaice_alb)
    943943      CASE (0)
    944944         ! default option. Calculation of albedo at snow (alb_neig) and update the age of snow (agesno)
Note: See TracChangeset for help on using the changeset viewer.