- Timestamp:
- 2013-11-04T12:51:55+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/ICB/icb_oce.F90
r3614 r4147 44 44 PUBLIC icb_alloc ! routine called by icb_init in icbini.F90 module 45 45 46 INTEGER, PUBLIC, PARAMETER :: nclasses = 10 !: Number of ice bergs classes 46 INTEGER, PUBLIC, PARAMETER :: nclasses = 10 !: Number of icebergs classes 47 !!INTEGER, PUBLIC & 48 !!#if !defined key_agrif 49 !! , PARAMETER & 50 !!#endif 51 !! :: & 52 !! nclasses = 10 !: Number of icebergs classes 47 53 INTEGER, PUBLIC, PARAMETER :: nkounts = 3 !: Number of integers combined for unique naming 48 54 … … 109 115 110 116 ! !!* namberg namelist parameters (and defaults) ** 111 LOGICAL , PUBLIC :: ln_bergdia = .true.!: Calculate budgets112 INTEGER , PUBLIC :: nn_verbose_level = 0!: Turn on debugging when level > 0113 INTEGER , PUBLIC :: nn_test_icebergs = 0!: Create icebergs in absence of a restart file from the supplied class nb114 REAL(wp), PUBLIC, DIMENSION(4) :: rn_test_box = (/ 0._wp, 1._wp, 0._wp, 1._wp /)!: lon1,lon2,lat1,lat2 box to create them in115 INTEGER , PUBLIC :: nn_sample_rate = 0!: Timesteps between sampling of position for trajectory storage116 INTEGER , PUBLIC :: nn_verbose_write = 15!: timesteps between verbose messages117 REAL(wp), PUBLIC :: rn_rho_bergs = 850._wp!: Density of icebergs118 REAL(wp), PUBLIC :: rn_LoW_ratio = 1.5_wp!: Initial ratio L/W for newly calved icebergs119 REAL(wp), PUBLIC :: rn_bits_erosion_fraction = 0.!: Fraction of erosion melt flux to divert to bergy bits120 REAL(wp), PUBLIC :: rn_sicn_shift = 0._wp!: Shift of sea-ice concentration in erosion flux modulation (0<sicn_shift<1)121 LOGICAL , PUBLIC :: ln_operator_splitting = .true.!: Use first order operator splitting for thermodynamics122 LOGICAL , PUBLIC :: ln_passive_mode = .false.!: iceberg - ocean decoupling123 LOGICAL , PUBLIC :: ln_time_average_weight = .false.!: Time average the weight on the ocean !!gm I don't understand that !124 REAL(wp), PUBLIC :: rn_speed_limit = 0._wp!: CFL speed limit for a berg117 LOGICAL , PUBLIC :: ln_bergdia !: Calculate budgets 118 INTEGER , PUBLIC :: nn_verbose_level !: Turn on debugging when level > 0 119 INTEGER , PUBLIC :: nn_test_icebergs !: Create icebergs in absence of a restart file from the supplied class nb 120 REAL(wp), PUBLIC, DIMENSION(4) :: rn_test_box !: lon1,lon2,lat1,lat2 box to create them in 121 INTEGER , PUBLIC :: nn_sample_rate !: Timesteps between sampling of position for trajectory storage 122 INTEGER , PUBLIC :: nn_verbose_write !: timesteps between verbose messages 123 REAL(wp), PUBLIC :: rn_rho_bergs !: Density of icebergs 124 REAL(wp), PUBLIC :: rn_LoW_ratio !: Initial ratio L/W for newly calved icebergs 125 REAL(wp), PUBLIC :: rn_bits_erosion_fraction !: Fraction of erosion melt flux to divert to bergy bits 126 REAL(wp), PUBLIC :: rn_sicn_shift !: Shift of sea-ice concentration in erosion flux modulation (0<sicn_shift<1) 127 LOGICAL , PUBLIC :: ln_operator_splitting !: Use first order operator splitting for thermodynamics 128 LOGICAL , PUBLIC :: ln_passive_mode !: iceberg - ocean decoupling 129 LOGICAL , PUBLIC :: ln_time_average_weight !: Time average the weight on the ocean !!gm I don't understand that ! 130 REAL(wp), PUBLIC :: rn_speed_limit !: CFL speed limit for a berg 125 131 ! 126 132 ! ! Mass thresholds between iceberg classes [kg] 127 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_initial_mass = (/8.8e07, 4.1e08, 3.3e09, 1.8e10, 3.8e10, & 128 & 7.5e10, 1.2e11, 2.2e11, 3.9e11, 7.4e11/) 129 ! ! Fraction of calving to apply to this class [non-dim] 130 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_distribution = (/0.25 , 0.12 , 0.15 , 0.18 , 0.12 , & 131 & 0.07 , 0.03 , 0.03 , 0.03 , 0.02 /) 132 ! ! Ratio between effective and real iceberg mass (non-dim) 133 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_mass_scaling = (/2000. , 200. , 50. , 20. , 10. , & 134 & 5. , 2. , 1. , 1. , 1. /) 135 ! ! Total thickness of newly calved bergs [m] 136 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_initial_thickness = (/ 40. , 67. , 133. , 175. , 250. , & 137 & 250. , 250. , 250. , 250. , 250./) 138 139 ! Single instance of an icebergs type initialised in icebergs_init and updated in icebergs_run 133 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_initial_mass ! Fraction of calving to apply to this class [non-dim] 134 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_distribution ! Ratio between effective and real iceberg mass (non-dim) 135 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_mass_scaling ! Total thickness of newly calved bergs [m] 136 REAL(wp), DIMENSION(nclasses), PUBLIC :: rn_initial_thickness ! Single instance of an icebergs type initialised in icebergs_init and updated in icebergs_run 140 137 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: src_calving, src_calving_hflx !: accumulate input ice 141 138 INTEGER , PUBLIC , SAVE :: numicb !: iceberg IO … … 168 165 ! 169 166 icb_alloc = 0 170 ALLOCATE( berg_grid , & 167 !! ALLOCATE( berg_grid , & 168 ALLOCATE( & 171 169 & berg_grid%calving (jpi,jpj) , berg_grid%calving_hflx (jpi,jpj) , & 172 170 & berg_grid%stored_heat(jpi,jpj) , berg_grid%floating_melt(jpi,jpj) , &
Note: See TracChangeset
for help on using the changeset viewer.