- Timestamp:
- 2015-02-06T19:12:57+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90
r5055 r5067 45 45 !! 46 46 !! ** Method : 3 possibilities 47 !! -> n um_sal = 1 -> Sice = cst [ice salinity constant in both time & space]48 !! -> n um_sal = 2 -> Sice = S(z,t) [Vancoppenolle et al. 2005]49 !! -> n um_sal = 3 -> Sice = S(z) [multiyear ice]47 !! -> nn_icesal = 1 -> Sice = cst [ice salinity constant in both time & space] 48 !! -> nn_icesal = 2 -> Sice = S(z,t) [Vancoppenolle et al. 2005] 49 !! -> nn_icesal = 3 -> Sice = S(z) [multiyear ice] 50 50 !!--------------------------------------------------------------------- 51 51 INTEGER, INTENT(in) :: kideb, kiut ! thickness category index … … 65 65 ! 1) Constant salinity, constant in time | 66 66 !------------------------------------------------------------------------------| 67 !!gm comment: if n um_sal = 1 s_i_new, s_i_1d and sm_i_1d can be set to bulk_sal one for all in the initialisation phase !!68 !!gm ===>>> simplification of almost all test on n um_sal value69 IF( n um_sal == 1 ) THEN70 s_i_1d (kideb:kiut,1:nlay_i) = bulk_sal71 sm_i_1d(kideb:kiut) = bulk_sal72 s_i_new(kideb:kiut) = bulk_sal67 !!gm comment: if nn_icesal = 1 s_i_new, s_i_1d and sm_i_1d can be set to rn_icesal one for all in the initialisation phase !! 68 !!gm ===>>> simplification of almost all test on nn_icesal value 69 IF( nn_icesal == 1 ) THEN 70 s_i_1d (kideb:kiut,1:nlay_i) = rn_icesal 71 sm_i_1d(kideb:kiut) = rn_icesal 72 s_i_new(kideb:kiut) = rn_icesal 73 73 ENDIF 74 74 … … 76 76 ! Module 2 : Constant salinity varying in time | 77 77 !------------------------------------------------------------------------------| 78 IF( n um_sal == 2 ) THEN78 IF( nn_icesal == 2 ) THEN 79 79 80 80 DO ji = kideb, kiut … … 89 89 !--------------------- 90 90 ! drainage by gravity drainage 91 dsm_i_gd_1d(ji) = - igravdr * MAX( sm_i_1d(ji) - sal_G , 0._wp ) / time_G* rdt_ice91 dsm_i_gd_1d(ji) = - igravdr * MAX( sm_i_1d(ji) - rn_sal_gd , 0._wp ) / rn_time_gd * rdt_ice 92 92 ! drainage by flushing 93 dsm_i_fl_1d(ji) = - iflush * MAX( sm_i_1d(ji) - sal_F , 0._wp ) / time_F* rdt_ice93 dsm_i_fl_1d(ji) = - iflush * MAX( sm_i_1d(ji) - rn_sal_fl , 0._wp ) / rn_time_fl * rdt_ice 94 94 95 95 !----------------- … … 115 115 ! Module 3 : Profile of salinity, constant in time | 116 116 !------------------------------------------------------------------------------| 117 IF( n um_sal == 3 ) CALL lim_var_salprof1d( kideb, kiut )117 IF( nn_icesal == 3 ) CALL lim_var_salprof1d( kideb, kiut ) 118 118 119 119 ! … … 133 133 !!------------------------------------------------------------------- 134 134 INTEGER :: ios ! Local integer output status for namelist read 135 NAMELIST/namicesal/ n um_sal, bulk_sal, sal_G, time_G, sal_F, time_F, &136 & s_i_max, s_i_min135 NAMELIST/namicesal/ nn_icesal, rn_icesal, rn_sal_gd, rn_time_gd, rn_sal_fl, rn_time_fl, & 136 & rn_simax, rn_simin 137 137 !!------------------------------------------------------------------- 138 138 ! … … 150 150 WRITE(numout,*) 'lim_thd_sal_init : Ice parameters for salinity ' 151 151 WRITE(numout,*) '~~~~~~~~~~~~~~~~' 152 WRITE(numout,*) ' switch for salinity n um_sal : ', num_sal153 WRITE(numout,*) ' bulk salinity value if n um_sal = 1 : ', bulk_sal154 WRITE(numout,*) ' restoring salinity for GD : ', sal_G155 WRITE(numout,*) ' restoring time for GD : ', time_G156 WRITE(numout,*) ' restoring salinity for flushing : ', sal_F157 WRITE(numout,*) ' restoring time for flushing : ', time_F158 WRITE(numout,*) ' Maximum tolerated ice salinity : ', s_i_max159 WRITE(numout,*) ' Minimum tolerated ice salinity : ', s_i_min152 WRITE(numout,*) ' switch for salinity nn_icesal : ', nn_icesal 153 WRITE(numout,*) ' bulk salinity value if nn_icesal = 1 : ', rn_icesal 154 WRITE(numout,*) ' restoring salinity for GD : ', rn_sal_gd 155 WRITE(numout,*) ' restoring time for GD : ', rn_time_gd 156 WRITE(numout,*) ' restoring salinity for flushing : ', rn_sal_fl 157 WRITE(numout,*) ' restoring time for flushing : ', rn_time_fl 158 WRITE(numout,*) ' Maximum tolerated ice salinity : ', rn_simax 159 WRITE(numout,*) ' Minimum tolerated ice salinity : ', rn_simin 160 160 ENDIF 161 161 !
Note: See TracChangeset
for help on using the changeset viewer.