- Timestamp:
- 2018-11-21T11:25:53+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icevar.F90
r10069 r10345 49 49 !! ice_var_bv : brine volume 50 50 !! ice_var_enthalpy : compute ice and snow enthalpies from temperature 51 !! ice_var_sshdyn : compute equivalent ssh in lead 51 52 !!---------------------------------------------------------------------- 52 53 USE dom_oce ! ocean space and time domain 53 54 USE phycst ! physical constants (ocean directory) 54 USE sbc_oce , ONLY : sss_m 55 USE sbc_oce , ONLY : sss_m, ln_ice_embd, nn_fsbc 55 56 USE ice ! sea-ice: variables 56 57 USE ice1D ! sea-ice: thermodynamics variables … … 74 75 PUBLIC ice_var_bv 75 76 PUBLIC ice_var_enthalpy 77 PUBLIC ice_var_sshdyn 76 78 77 79 !!---------------------------------------------------------------------- … … 949 951 END SUBROUTINE ice_var_enthalpy 950 952 953 FUNCTION ice_var_sshdyn(pssh, psnwice_mass, psnwice_mass_b) 954 !!--------------------------------------------------------------------- 955 !! *** ROUTINE rhg_evp_rst *** 956 !! 957 !! ** Purpose : compute the equivalent ssh in lead when sea ice is embedded 958 !! 959 !! ** Method : ssh_lead = ssh + (Mice + Msnow) / rau0 960 !! 961 !! ** Reference : Jean-Michel Campin, John Marshall, David Ferreira, 962 !! Sea ice-ocean coupling using a rescaled vertical coordinate z*, 963 !! Ocean Modelling, Volume 24, Issues 1-2, 2008 964 !! 965 !!---------------------------------------------------------------------- 966 ! 967 ! input 968 REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pssh !: ssh [m] 969 REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: psnwice_mass !: mass of snow and ice at current ice time step [Kg/m2] 970 REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: psnwice_mass_b !: mass of snow and ice at previous ice time step [Kg/m2] 971 ! 972 ! output 973 REAL(wp), DIMENSION(jpi,jpj) :: ice_var_sshdyn ! equivalent ssh in lead [m] 974 ! 975 ! temporary 976 REAL(wp) :: zintn, zintb ! time interpolation weights [] 977 REAL(wp), DIMENSION(jpi,jpj) :: zsnwiceload ! snow and ice load [m] 978 ! 979 ! compute ice load used to define the equivalent ssh in lead 980 IF( ln_ice_embd ) THEN 981 ! 982 ! average interpolation coeff as used in dynspg = (1/nn_fsbc) * {SUM[n/nn_fsbc], n=0,nn_fsbc-1} 983 ! = (1/nn_fsbc)^2 * {SUM[n] , n=0,nn_fsbc-1} 984 zintn = REAL( nn_fsbc - 1 ) / REAL( nn_fsbc ) * 0.5_wp 985 ! 986 ! average interpolation coeff as used in dynspg = (1/nn_fsbc) * {SUM[1-n/nn_fsbc], n=0,nn_fsbc-1} 987 ! = (1/nn_fsbc)^2 * (nn_fsbc^2 - {SUM[n], n=0,nn_fsbc-1}) 988 zintb = REAL( nn_fsbc + 1 ) / REAL( nn_fsbc ) * 0.5_wp 989 ! 990 zsnwiceload(:,:) = ( zintn * psnwice_mass(:,:) + zintb * psnwice_mass_b(:,:) ) * r1_rau0 991 ! 992 ELSE 993 zsnwiceload(:,:) = 0.0_wp 994 ENDIF 995 ! compute equivalent ssh in lead 996 ice_var_sshdyn(:,:) = pssh(:,:) + zsnwiceload(:,:) 997 ! 998 END FUNCTION ice_var_sshdyn 999 1000 951 1001 #else 952 1002 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.