Changeset 15252
- Timestamp:
- 2021-09-14T10:32:15+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_FOAM_IAU_SI3_SIC/src/OCE/ASM/asminc.F90
r15242 r15252 97 97 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: a_i_bkginc ! Increment to the background sea ice conc categories 98 98 #endif 99 REAL(wp) :: zhi_damin = 0. 5_wp !: ice thickness for new sea ice from da increment99 REAL(wp) :: zhi_damin = 0.45_wp !: ice thickness for new sea ice from da increment 100 100 INTEGER :: nhi_damin !: thickness category corresponding to zhi_damin 101 101 LOGICAL, PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: incr_newice !: mask .TRUE.=DA positive ice increment to open water … … 161 161 ln_seaiceinc = .FALSE. 162 162 ln_temnofreeze = .FALSE. 163 zhi_damin = 0. 5_wp163 zhi_damin = 0.45_wp 164 164 zopenwater_lim = 1.0e-2_wp 165 165 … … 900 900 REAL(wp) :: zincwgt ! IAU weight for current time step 901 901 #if defined key_si3 902 REAL(wp), DIMENSION(jpi,jpj,jpl) :: da_i ! change in ice concentration 902 REAL(wp), DIMENSION(jpi,jpj,jpl) :: da_i ! change in ice concentration 903 REAL(wp), DIMENSION(jpi,jpj,jpl) :: dv_i ! change in ice volume 903 904 REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_a_i ! inverse of old ice concentration 905 REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_v_i ! inverse of old ice volume 904 906 REAL(wp) :: rn_hinew_save 905 907 LOGICAL, SAVE :: initial_step=.TRUE. … … 929 931 WHERE( a_i(:,:,:) > epsi10 ) 930 932 z1_a_i(:,:,:) = 1.0_wp/a_i(:,:,:) 933 z1_v_i(:,:,:) = 1.0_wp/v_i(:,:,:) 931 934 ELSEWHERE 932 935 z1_a_i(:,:,:) = 0.0_wp 936 z1_v_i(:,:,:) = 0.0_wp 933 937 END WHERE 934 938 … … 952 956 WHERE ( incr_newice ) 953 957 da_i(:,:,:) = 1.0_wp 958 dv_i(:,:,:) = 1.0_wp 954 959 ELSEWHERE 955 960 da_i(:,:,:) = a_i(:,:,:) * z1_a_i(:,:,:) 961 dv_i(:,:,:) = v_i(:,:,:) * z1_v_i(:,:,:) 956 962 END WHERE 957 963 … … 993 999 994 1000 qlead = 0.0_wp 995 at_i_bkginc(:,:) = SUM( a_i_bkginc(:,:,:) *zincwgt, DIM=3 )1001 at_i_bkginc(:,:) = SUM( a_i_bkginc(:,:,:), DIM=3 ) 996 1002 997 1003 call seaice_asm_qlead(ht_i_new, at_i_bkginc, qlead) … … 1003 1009 rn_hinew = rn_hinew_save 1004 1010 1005 incr_newice(:,:,:) = .FALSE.1006 1011 initial_step = .FALSE. 1007 1012 END IF 1008 1013 1009 ! as ice concentration has changed, maintain equivalent values for prognostic variables 1010 v_s (:,:,:) = v_s (:,:,:) * da_i(:,:,:) 1011 sv_i (:,:,:) = sv_i(:,:,:) * da_i(:,:,:) 1012 a_ip (:,:,:) = a_ip(:,:,:) * da_i(:,:,:) 1013 v_ip (:,:,:) = v_ip(:,:,:) * da_i(:,:,:) 1014 ! maintain equivalent values for prognostic variables 1015 v_s (:,:,:) = v_s (:,:,:) * da_i(:,:,:) ! snow volume 1016 DO jl = 1, nlay_s 1017 e_s(:,:,jl,:) = e_s(:,:,jl,:) * da_i(:,:,:) ! snow entalphy 1018 END DO 1019 ! Passive microwave cannot detect ice ponds 1020 ! However it should be valid to reduce pond 1021 ! area/volume when ice is removed (da_i < 1) 1022 WHERE ( da_i < 1 ) 1023 a_ip (:,:,:) = a_ip(:,:,:) * da_i(:,:,:) ! pond concentration 1024 v_ip (:,:,:) = v_ip(:,:,:) * da_i(:,:,:) ! pond volume 1025 END WHERE 1026 1027 ! ice volume dependent variables 1028 sv_i (:,:,:) = sv_i(:,:,:) * dv_i(:,:,:) ! ice salt content 1014 1029 DO jl = 1, nlay_i 1015 e_i(:,:,jl,:) = e_i(:,:,jl,:) * da_i(:,:,:) 1016 END DO 1017 DO jl = 1, nlay_s 1018 e_s(:,:,jl,:) = e_s(:,:,jl,:) * da_i(:,:,:) 1030 e_i(:,:,jl,:) = e_i(:,:,jl,:) * dv_i(:,:,:) ! ice entalphy 1019 1031 END DO 1020 1032
Note: See TracChangeset
for help on using the changeset viewer.