Changeset 8321 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3
- Timestamp:
- 2017-07-11T20:33:18+02:00 (7 years ago)
- Location:
- branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3
- Files:
-
- 2 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r8319 r8321 17 17 PRIVATE 18 18 19 PUBLIC ice_alloc ! Called in sbc_lim_init19 PUBLIC ice_alloc ! Called in ice_init 20 20 21 21 !!====================================================================== -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limdiahsb.F90
r8319 r8321 28 28 PRIVATE 29 29 30 PUBLIC lim_diahsb ! routine called by ice _step.F9031 PUBLIC lim_diahsb_init ! routine called in sbcice_lim.F9030 PUBLIC lim_diahsb ! routine called by icestp.F90 31 PUBLIC lim_diahsb_init ! routine called in icestp.F90 32 32 33 33 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vol_loc_ini, sal_loc_ini, tem_loc_ini ! initial volume, salt and heat contents -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limdyn.F90
r8316 r8321 32 32 PRIVATE 33 33 34 PUBLIC lim_dyn ! routine called by sbcice_lim.F9035 PUBLIC lim_dyn_init ! routine called by sbcice_lim.F9034 PUBLIC lim_dyn ! routine called by icestp.F90 35 PUBLIC lim_dyn_init ! routine called by icestp.F90 36 36 37 37 !! * Substitutions -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r8319 r8321 36 36 PUBLIC lim_itd_me_icestrength 37 37 PUBLIC lim_itd_me_init 38 PUBLIC lim_itd_me_alloc ! called by sbc_lim_init38 PUBLIC lim_itd_me_alloc ! called by ice_init 39 39 40 40 !----------------------------------------------------------------------- -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limmp.F90
r8233 r8321 60 60 PRIVATE 61 61 62 PUBLIC lim_mp_init ! routine called by sbcice_lim.F9063 PUBLIC lim_mp ! routine called by sbcice_lim.F9062 PUBLIC lim_mp_init ! routine called by icestp.F90 63 PUBLIC lim_mp ! routine called by icestp.F90 64 64 65 65 !! * Substitutions -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
r8316 r8321 32 32 PUBLIC lim_rst_opn ! routine called by icestep.F90 33 33 PUBLIC lim_rst_write ! routine called by icestep.F90 34 PUBLIC lim_rst_read ! routine called by sbc_lim_init34 PUBLIC lim_rst_read ! routine called by ice_init 35 35 36 36 LOGICAL, PUBLIC :: lrst_ice !: logical to control the ice restart write … … 636 636 ENDIF 637 637 ! 638 !CALL iom_close( numrir ) !clem: closed in sbcice_lim.F90638 !CALL iom_close( numrir ) !clem: closed in icestp.F90 639 639 ! 640 640 CALL wrk_dealloc( jpi, jpj, z2d ) -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r8316 r8321 31 31 USE sbc_oce , ONLY : nn_fsbc, ln_ice_embd, sfx, fr_i, qsr_tot, qns, qsr, fmmflx, emp, taum, utau, vtau 32 32 USE sbccpl ! Surface boundary condition: coupled interface 33 USE albedo 33 USE albedoice ! albedo parameters 34 34 USE traqsr ! add penetration of solar flux in the calculation of heat budget 35 35 USE domvvl ! Variable volume … … 48 48 PRIVATE 49 49 50 PUBLIC lim_sbc_init ! called by sbc_lim_init51 PUBLIC lim_sbc_flx ! called by sbc_ice_lim52 PUBLIC lim_sbc_tau ! called by sbc_ice_lim50 PUBLIC lim_sbc_init ! called by ice_init 51 PUBLIC lim_sbc_flx ! called by ice_stp 52 PUBLIC lim_sbc_tau ! called by ice_stp 53 53 54 54 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: utau_oce, vtau_oce ! air-ocean surface i- & j-stress [N/m2] … … 124 124 125 125 zalb(:,:) = 0._wp 126 WHERE ( at_i_b <= epsi06 ) ; zalb(:,:) = 0.066_wp126 WHERE ( at_i_b <= epsi06 ) ; zalb(:,:) = rn_alb_oce 127 127 ELSEWHERE ; zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) / at_i_b 128 128 END WHERE 129 129 IF( iom_use('icealb' ) ) CALL iom_put( "icealb" , zalb(:,:) ) ! ice albedo output 130 130 131 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + 0.066_wp* ( 1._wp - at_i_b )131 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + rn_alb_oce * ( 1._wp - at_i_b ) 132 132 IF( iom_use('albedo' ) ) CALL iom_put( "albedo" , zalb(:,:) ) ! surface albedo output 133 133 -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r8316 r8321 23 23 USE dom_oce ! ocean space and time domain variables 24 24 USE ice ! sea-ice variables 25 USE sbc_oce , ONLY : sst_m, e3t_m, utau, vtau, ssu_m, ssv_m, frq_m, qns_tot, qsr_tot, sprecip 26 USE sbc_ice , ONLY : qsr_oce, qns_oce, qemp_oce, qsr_ice, qns_ice, dqns_ice, evap_ice, qprec_ice, qevap_ice, fr1_i0, fr2_i0 25 USE sbc_oce , ONLY : sst_m, e3t_m, utau, vtau, ssu_m, ssv_m, frq_m, qns_tot, qsr_tot, sprecip, ln_cpl 26 USE sbc_ice , ONLY : qsr_oce, qns_oce, qemp_oce, qsr_ice, qns_ice, dqns_ice, evap_ice, qprec_ice, qevap_ice, & 27 & fr1_i0, fr2_i0, nn_limflx 27 28 USE thd_ice ! thermodynamic sea-ice variables 28 29 USE limthd_dif ! vertical diffusion … … 49 50 50 51 PUBLIC lim_thd ! called by limstp module 51 PUBLIC lim_thd_init ! called by sbc_lim_init52 PUBLIC lim_thd_init ! called by ice_init 52 53 53 54 !! * Substitutions … … 594 595 & ln_limdH, rn_betas, & 595 596 & ln_limdA, rn_beta, rn_dmin, & 596 & ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin 597 & ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin, & 598 & nn_limflx 597 599 !!------------------------------------------------------------------- 598 600 ! … … 632 634 WRITE(numout,*)' minimum ice thickness rn_himin = ', rn_himin 633 635 WRITE(numout,*)' check heat conservation in the ice/snow con_i = ', con_i 636 WRITE(numout,*)' -- icestp --' 637 WRITE(numout,*)' Multicategory heat flux formulation nn_limflx = ', nn_limflx 634 638 ENDIF 635 639 ! 636 640 IF ( rn_hnewice < rn_himin ) CALL ctl_stop( 'STOP', 'lim_thd_init : rn_hnewice should be >= rn_himin' ) 641 ! 642 IF(lwp) WRITE(numout,*) 643 SELECT CASE( nn_limflx ) ! LIM3 Multi-category heat flux formulation 644 CASE ( -1 ) 645 IF(lwp) WRITE(numout,*) ' LIM3: use per-category fluxes (nn_limflx = -1) ' 646 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 647 CASE ( 0 ) 648 IF(lwp) WRITE(numout,*) ' LIM3: use average per-category fluxes (nn_limflx = 0) ' 649 CASE ( 1 ) 650 IF(lwp) WRITE(numout,*) ' LIM3: use average then redistribute per-category fluxes (nn_limflx = 1) ' 651 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 652 CASE ( 2 ) 653 IF(lwp) WRITE(numout,*) ' LIM3: Redistribute a single flux over categories (nn_limflx = 2) ' 654 IF( .NOT. ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in forced mode cannot be 2' ) 655 CASE DEFAULT 656 CALL ctl_stop( 'sbcmod: LIM3 option, nn_limflx, should be between -1 and 2' ) 657 END SELECT 637 658 ! 638 659 END SUBROUTINE lim_thd_init -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90
r8316 r8321 29 29 30 30 PUBLIC lim_thd_sal ! called by limthd module 31 PUBLIC lim_thd_sal_init ! called by sbc_lim_init31 PUBLIC lim_thd_sal_init ! called by ice_init 32 32 33 33 !!---------------------------------------------------------------------- -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
r8316 r8321 35 35 PRIVATE 36 36 37 PUBLIC lim_trp ! called by sbcice_lim37 PUBLIC lim_trp ! called by icestp 38 38 39 39 INTEGER :: ncfl ! number of ice time step with CFL>1/2
Note: See TracChangeset
for help on using the changeset viewer.