Changeset 6177
- Timestamp:
- Apr 19, 2026, 2:16:40 PM (2 weeks ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 2 edited
-
limit_read_mod.f90 (modified) (1 diff)
-
ocean_forced_mod.F90 (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/limit_read_mod.f90
r5968 r6177 462 462 IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <SST>',1) 463 463 !GG 464 IF (iflag_seaice == 1) THEN464 IF (iflag_seaice == 2) THEN 465 465 ierr = NF90_INQ_VARID(nid, 'HICE', nvarid) 466 466 IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <HICE> est absent',1) -
LMDZ6/trunk/libf/phylmd/ocean_forced_mod.F90
r6176 r6177 467 467 468 468 ! albedo and radiation parameters 469 INTEGER :: iflag_sic_albedo470 ! albedo old or NEMO471 469 REAL :: alb_sno_dry!=rn_alb_sdry !dry snow albedo 472 470 REAL :: alb_sno_wet!=rn_alb_smlt !wet snow albedo … … 511 509 IF (check) WRITE (*, *) 'Entering surface_seaice, knon=', knon 512 510 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 516 512 sno_den = sisno_den !mean snow density, kg/m3 517 513 ice_cond = sice_cond*ice_den !conductivity of ice … … 675 671 676 672 ! if iflag_seaice = 0, we fix the sea-ice thickness to a constant value 677 ! this only serves for albedo calculation if iflag_s ic_albedo>=1673 ! this only serves for albedo calculation if iflag_seaice_alb >=1 678 674 DO i = 1, knon 679 675 ki = knindex(i) … … 736 732 !#ifdef ISO 737 733 738 ELSE 734 ELSE ! iflag_seaice >= 1 735 736 icesub(:) = 0. 737 icemelt(:) = 0. 739 738 740 739 ! 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 741 742 IF (iflag_seaice .EQ. 1) THEN 742 743 hice(:) = sic_hice_fixed … … 755 756 END IF 756 757 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.351759 760 758 DO i = 1, knon 761 759 … … 767 765 END IF 768 766 ! 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)) 771 768 snow(i) = snow(i) - snow_evap*dtime 772 769 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) 775 774 END IF 776 END IF777 775 ! Melt / Freeze snow from above if Tsurf>0 778 776 IF (tsurf_new(i) .GT. t_melt) THEN … … 785 783 snow(i) = snow(i) - e_melt 786 784 tsurf_new(i) = t_melt 785 icemelt(i) = 0. 787 786 ELSE ! all snow is melted 788 ! add remaining heat flux to ice787 ! add remaining heat flux to ice 789 788 e_melt = e_melt - snow(i) 789 icemelt(i) = e_melt 790 790 tice(ki) = tice(ki) + e_melt*ice_lat*2./(ice_cap*hice(ki)*ice_den) 791 791 tsurf_new(i) = tice(ki) … … 940 940 !**************************************************************************************** 941 941 942 SELECT CASE (iflag_s ic_albedo)942 SELECT CASE (iflag_seaice_alb) 943 943 CASE (0) 944 944 ! 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.
