Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
WRITE(numout,*) '~~~~~~~~~~~~~~~~~~'
WRITE(numout,*) ' Namelist namdyn_rdgrft:'
WRITE(numout,*) ' ice strength parameterization Hibler (1979) ln_str_H79 = ', ln_str_H79
WRITE(numout,*) ' 1st bulk-rheology parameter rn_pstar = ', rn_pstar
WRITE(numout,*) ' 2nd bulk-rhelogy parameter rn_crhg = ', rn_crhg
WRITE(numout,*) ' ice strength parameterization Rothrock (1975) ln_str_R75 = ', ln_str_R75
WRITE(numout,*) ' coef accounting for frictional dissipation rn_pe_rdg = ', rn_pe_rdg
WRITE(numout,*) ' ice strength parameterization Constant ln_str_CST = ', ln_str_CST
WRITE(numout,*) ' ice strength value rn_str = ', rn_str
WRITE(numout,*) ' spatial smoothing of the strength ln_str_smooth= ', ln_str_smooth
WRITE(numout,*) ' redistribution of ridged ice: linear (Hibler 1980) ln_distf_lin = ', ln_distf_lin
WRITE(numout,*) ' redistribution of ridged ice: exponential ln_distf_exp = ', ln_distf_exp
WRITE(numout,*) ' e-folding scale of ridged ice rn_murdg = ', rn_murdg
WRITE(numout,*) ' Fraction of shear energy contributing to ridging rn_csrdg = ', rn_csrdg
WRITE(numout,*) ' linear ridging participation function ln_partf_lin = ', ln_partf_lin
WRITE(numout,*) ' Fraction of ice coverage contributing to ridging rn_gstar = ', rn_gstar
WRITE(numout,*) ' Exponential ridging participation function ln_partf_exp = ', ln_partf_exp
WRITE(numout,*) ' Equivalent to G* for an exponential function rn_astar = ', rn_astar
WRITE(numout,*) ' Ridging of ice sheets or not ln_ridging = ', ln_ridging
WRITE(numout,*) ' max ridged ice thickness rn_hstar = ', rn_hstar
WRITE(numout,*) ' Initial porosity of ridges rn_porordg = ', rn_porordg
WRITE(numout,*) ' Fraction of snow volume conserved during ridging rn_fsnwrdg = ', rn_fsnwrdg
WRITE(numout,*) ' Fraction of pond volume conserved during ridging rn_fpndrdg = ', rn_fpndrdg
WRITE(numout,*) ' Rafting of ice sheets or not ln_rafting = ', ln_rafting
WRITE(numout,*) ' Parmeter thickness (threshold between ridge-raft) rn_hraft = ', rn_hraft
WRITE(numout,*) ' Rafting hyperbolic tangent coefficient rn_craft = ', rn_craft
WRITE(numout,*) ' Fraction of snow volume conserved during rafting rn_fsnwrft = ', rn_fsnwrft
WRITE(numout,*) ' Fraction of pond volume conserved during rafting rn_fpndrft = ', rn_fpndrft
ENDIF
!
ioptio = 0
IF( ln_str_H79 ) THEN ; ioptio = ioptio + 1 ; nice_str = np_strh79 ; ENDIF
IF( ln_str_R75 ) THEN ; ioptio = ioptio + 1 ; nice_str = np_strr75 ; ENDIF
IF( ln_str_CST ) THEN ; ioptio = ioptio + 1 ; nice_str = np_strcst ; ENDIF
IF( ioptio /= 1 ) CALL ctl_stop( 'ice_dyn_rdgrft_init: one and only one ice strength option has to be defined ' )
!
IF ( ( ln_distf_lin .AND. ln_distf_exp ) .OR. ( .NOT.ln_distf_lin .AND. .NOT.ln_distf_exp ) ) THEN
CALL ctl_stop( 'ice_dyn_rdgrft_init: choose one and only one redistribution function (ln_distf_lin or ln_distf_exp)' )
ENDIF
!!clem
IF( ln_distf_exp ) CALL ctl_stop( 'ice_dyn_rdgrft_init: exponential redistribution function not coded yet (ln_distf_exp)' )
!
IF ( ( ln_partf_lin .AND. ln_partf_exp ) .OR. ( .NOT.ln_partf_lin .AND. .NOT.ln_partf_exp ) ) THEN
CALL ctl_stop( 'ice_dyn_rdgrft_init: choose one and only one participation function (ln_partf_lin or ln_partf_exp)' )
ENDIF
!
IF( .NOT. ln_icethd ) THEN
rn_porordg = 0._wp
rn_fsnwrdg = 1._wp ; rn_fsnwrft = 1._wp
rn_fpndrdg = 1._wp ; rn_fpndrft = 1._wp
IF( lwp ) THEN
WRITE(numout,*) ' ==> only ice dynamics is activated, thus some parameters must be changed'
WRITE(numout,*) ' rn_porordg = ', rn_porordg
WRITE(numout,*) ' rn_fsnwrdg = ', rn_fsnwrdg
WRITE(numout,*) ' rn_fpndrdg = ', rn_fpndrdg
WRITE(numout,*) ' rn_fsnwrft = ', rn_fsnwrft
WRITE(numout,*) ' rn_fpndrft = ', rn_fpndrft
ENDIF
ENDIF
! ! allocate arrays
IF( ice_dyn_rdgrft_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'ice_dyn_rdgrft_init: unable to allocate arrays' )
!
END SUBROUTINE ice_dyn_rdgrft_init
#else
!!----------------------------------------------------------------------
!! Default option Empty module NO SI3 sea-ice model
!!----------------------------------------------------------------------
#endif
!!======================================================================
END MODULE icedyn_rdgrft