Changeset 2590 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3
- Timestamp:
- 2011-02-18T13:49:27+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/dom_ice.F90
r2528 r2590 11 11 PRIVATE 12 12 13 PUBLIC dom_ice_alloc ! Routine called by nemogcm.F90 14 13 15 LOGICAL, PUBLIC :: l_jeq = .TRUE. !: Equator inside the domain flag 14 16 15 17 INTEGER, PUBLIC :: njeq , njeqm1 !: j-index of the equator if it is inside the domain 16 18 17 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fs2cor !: coriolis factor18 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fcor !: coriolis coefficient19 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: covrai !: sine of geographic latitude20 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: area !: surface of grid cell21 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tms, tmi !: temperature mask, mask for stress22 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tmu, tmv !: mask at u and v velocity points23 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tmf !: mask at f-point19 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fs2cor !: coriolis factor 20 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fcor !: coriolis coefficient 21 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: covrai !: sine of geographic latitude 22 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: area !: surface of grid cell 23 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tms, tmi !: temperature mask, mask for stress 24 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tmu, tmv !: mask at u and v velocity points 25 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tmf !: mask at f-point 24 26 25 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,2,2) :: wght!: weight of the 4 neighbours to compute averages27 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: wght !: weight of the 4 neighbours to compute averages 26 28 27 29 !!---------------------------------------------------------------------- … … 30 32 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 31 33 !!====================================================================== 34 CONTAINS 35 36 FUNCTION dom_ice_alloc 37 !!------------------------------------------------------------------- 38 !! *** Routine dom_ice_alloc *** 39 !!------------------------------------------------------------------- 40 INTEGER :: dom_ice_alloc 41 !!------------------------------------------------------------------- 42 43 ALLOCATE(fs2cor(jpi,jpj), fcor(jpi,jpj), & 44 covrai(jpi,jpj), area(jpi,jpj), & 45 tms(jpi,jpj) , tmi(jpi,jpj) , & 46 tmu(jpi,jpj) , tmv(jpi,jpj) , & 47 tmf(jpi,jpj) , & 48 wght(jpi,jpj,2,2), Stat = dom_ice_alloc) 49 50 IF(dom_ice_alloc /= 0)THEN 51 CALL ctl_warn('dom_ice_alloc: failed to allocate arrays.') 52 END IF 53 54 END FUNCTION dom_ice_alloc 55 32 56 END MODULE dom_ice -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r2528 r2590 27 27 USE prtctl ! Print control 28 28 USE lib_mpp 29 USE wrk_nemo, ONLY: wrk_use, wrk_release 29 30 30 31 IMPLICIT NONE … … 39 40 PUBLIC lim_itd_me_init 40 41 PUBLIC lim_itd_me_zapsmall 42 PUBLIC lim_idt_me_alloc ! called by nemogcm.F90 41 43 42 44 !! * Module variables … … 51 53 ! Variables shared among ridging subroutines 52 54 !----------------------------------------------------------------------- 53 REAL(wp), DIMENSION (jpi,jpj) :: &55 REAL(wp), ALLOCATABLE, SAVE, DIMENSION (:,:) :: & 54 56 asum , & ! sum of total ice and open water area 55 57 aksum ! ratio of area removed to area ridged 56 58 57 REAL(wp), DIMENSION(jpi,jpj,0:jpl) :: &59 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: & 58 60 athorn ! participation function; fraction of ridging/ 59 61 ! closing associated w/ category n 60 62 61 REAL(wp), DIMENSION(jpi,jpj,jpl) :: &63 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: & 62 64 hrmin , & ! minimum ridge thickness 63 65 hrmax , & ! maximum ridge thickness … … 78 80 !----------------------------------------------------------------------- 79 81 ! 80 REAL (wp), DIMENSION(jpi,jpj) :: &82 REAL (wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: & 81 83 dardg1dt , & ! rate of fractional area loss by ridging ice (1/s) 82 84 dardg2dt , & ! rate of fractional area gain by new ridges (1/s) … … 96 98 !!-----------------------------------------------------------------------------! 97 99 !!-----------------------------------------------------------------------------! 100 101 FUNCTION lim_idt_me_alloc() 102 !!---------------------------------------------------------------------! 103 !! *** ROUTINE lim_itd_me_alloc *** 104 !!---------------------------------------------------------------------! 105 INTEGER :: lim_idt_me_alloc 106 !!---------------------------------------------------------------------! 107 108 ALLOCATE(asum(jpi,jpj), aksum(jpi,jpj), athorn(jpi,jpj,0:jpl), & 109 ! 110 hrmin(jpi,jpj,jpl), hrmax(jpi,jpj,jpl) , & 111 hraft(jpi,jpj,jpl), krdg(jpi,jpj,jpl) , & 112 aridge(jpi,jpj,jpl), araft(jpi,jpj,jpl) , & 113 ! 114 dardg1dt(jpi,jpj) , dardg2dt(jpi,jpj) , & 115 dvirdgdt(jpi,jpj) , opening(jpi,jpj) , & 116 ! 117 Stat=lim_idt_me_alloc) 118 119 IF(lim_idt_me_alloc /= 0)THEN 120 CALL ctl_warn('lim_idt_me_alloc: failed to allocate arrays.') 121 END IF 122 123 END FUNCTION lim_idt_me_alloc 124 98 125 99 126 SUBROUTINE lim_itd_me ! (subroutine 1/6) … … 149 176 !! and Elizabeth C. Hunke, LANL are gratefully acknowledged 150 177 !!--------------------------------------------------------------------! 178 USE wrk_nemo, ONLY: & 179 closing_net => wrk_2d_1, & ! net rate at which area is removed (1/s) 180 ! (ridging ice area - area of new ridges) / dt 181 divu_adv => wrk_2d_2, & ! divu as implied by transport scheme (1/s) 182 opning => wrk_2d_3, & ! rate of opening due to divergence/shear 183 closing_gross => wrk_2d_4, & ! rate at which area removed, not counting 184 ! area of new ridges 185 msnow_mlt => wrk_2d_5, & ! mass of snow added to ocean (kg m-2) 186 esnow_mlt => wrk_2d_6 ! energy needed to melt snow in ocean (J m-2) 187 USE wrk_nemo, ONLY: vt_i_init => wrk_2d_7, & ! ice volume summed over 188 vt_i_final => wrk_2d_8 ! categories 189 151 190 !! * Arguments 152 191 … … 164 203 epsi06 = 1.0e-6 165 204 166 REAL(wp), DIMENSION(jpi,jpj) :: &167 closing_net, & ! net rate at which area is removed (1/s)168 ! (ridging ice area - area of new ridges) / dt169 divu_adv , & ! divu as implied by transport scheme (1/s)170 opning , & ! rate of opening due to divergence/shear171 closing_gross, & ! rate at which area removed, not counting172 ! area of new ridges173 msnow_mlt , & ! mass of snow added to ocean (kg m-2)174 esnow_mlt ! energy needed to melt snow in ocean (J m-2)175 176 205 REAL(wp) :: & 177 206 w1, & ! temporary variable … … 187 216 big = 1.0e8 188 217 189 REAL (wp), DIMENSION(jpi,jpj) :: & !190 vt_i_init, vt_i_final ! ice volume summed over categories191 192 218 CHARACTER (len = 15) :: fieldid 193 219 194 220 !!-- End of declarations 195 221 !-----------------------------------------------------------------------------! 222 223 IF(.NOT. wrk_use(2, 1,2,3,4,5,6,7,8))THEN 224 CALL ctl_stop(' : requested workspace arrays unavailable.') 225 RETURN 226 END IF 196 227 197 228 IF( numit == nstart ) CALL lim_itd_me_init ! Initialization (first time-step only) … … 551 582 END DO 552 583 584 IF(.NOT. wrk_release(2, 1,2,3,4,5,6,7,8))THEN 585 CALL ctl_stop('lim_itd_me : failed to release workspace arrays.') 586 END IF 587 553 588 END SUBROUTINE lim_itd_me 554 589 … … 577 612 !! 578 613 !!---------------------------------------------------------------------- 614 USE wrk_nemo, ONLY: zworka => wrk_2d_1 !: temporary array used here 615 ! 579 616 !! * Arguments 580 617 … … 594 631 zdummy 595 632 596 REAL(wp), DIMENSION(jpi,jpj) :: & 597 zworka !: temporary array used here 633 IF(.NOT. wrk_use(2, 1))THEN 634 CALL ctl_stop('lim_itd_me_icestrength : requested workspace array unavailable.') 635 RETURN 636 END IF 598 637 599 638 !------------------------------------------------------------------------------! … … 765 804 ! Boundary conditions 766 805 CALL lbc_lnk( strength, 'T', 1. ) 806 807 IF(.NOT. wrk_release(2, 1))THEN 808 CALL ctl_stop('lim_itd_me_icestrength : failed to release workspace array.') 809 END IF 767 810 768 811 END SUBROUTINE lim_itd_me_icestrength -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90
r2580 r2590 37 37 PRIVATE 38 38 39 PUBLIC lim_rhg ! routine called by lim_dyn (or lim_dyn_2) 39 PUBLIC lim_rhg ! routine called by lim_dyn (or lim_dyn_2) 40 PUBLIC lim_rhg_alloc ! routine called by nemo_alloc in nemogcm.F90 40 41 41 42 REAL(wp) :: rzero = 0._wp ! constant values 42 43 REAL(wp) :: rone = 1._wp ! constant values 43 44 45 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: & 46 zpresh , & !: temporary array for ice strength 47 zpreshc , & !: Ice strength on grid cell corners (zpreshc) 48 zfrld1, zfrld2, & !: lead fraction on U/V points 49 zmass1, zmass2, & !: ice/snow mass on U/V points 50 zcorl1, zcorl2, & !: coriolis parameter on U/V points 51 za1ct, za2ct , & !: temporary arrays 52 zc1 , & !: ice mass 53 zusw , & !: temporary weight for the computation 54 !: of ice strength 55 u_oce1, v_oce1, & !: ocean u/v component on U points 56 u_oce2, v_oce2, & !: ocean u/v component on V points 57 u_ice2, & !: ice u component on V point 58 v_ice1 !: ice v component on U point 59 60 REAL(wp),ALLOCATABLE, SAVE, DIMENSION(:,:) :: zf1, zf2 ! arrays for internal stresses 61 62 REAL(wp),ALLOCATABLE, SAVE, DIMENSION(:,:) :: & 63 zdd, zdt, & ! Divergence and tension at centre of grid cells 64 zds, & ! Shear on northeast corner of grid cells 65 deltat, & ! Delta at centre of grid cells 66 deltac, & ! Delta on corners 67 zs1, zs2, & ! Diagonal stress tensor components zs1 and zs2 68 zs12 ! Non-diagonal stress tensor component zs12 69 70 REAL(wp),ALLOCATABLE, SAVE, DIMENSION(:,:) :: zu_ice, zv_ice, zresr ! Local error on velocity 71 44 72 !! * Substitutions 45 73 # include "vectopt_loop_substitute.h90" … … 50 78 !!---------------------------------------------------------------------- 51 79 CONTAINS 80 81 FUNCTION lim_rhg_alloc() 82 !!------------------------------------------------------------------- 83 !! *** FUNCTION lim_rhg_alloc *** 84 !!------------------------------------------------------------------- 85 IMPLICIT none 86 INTEGER :: lim_rhg_alloc 87 INTEGER :: ierr(2) 88 !!------------------------------------------------------------------- 89 90 ierr(:) = 0 91 92 ALLOCATE(zpresh(jpi,jpj), zpreshc(jpi,jpj), & 93 zfrld1(jpi,jpj), zfrld2(jpi,jpj), & 94 zmass1(jpi,jpj), zmass2(jpi,jpj), & 95 zcorl1(jpi,jpj), zcorl2(jpi,jpj), & 96 za1ct(jpi,jpj), za2ct(jpi,jpj) , & 97 zc1(jpi,jpj) , zusw(jpi,jpj) , & 98 u_oce1(jpi,jpj), v_oce1(jpi,jpj), & 99 u_oce2(jpi,jpj), v_oce2(jpi,jpj), & 100 u_ice2(jpi,jpj), v_ice1(jpi,jpj), Stat=ierr(1)) 101 102 ALLOCATE(zf1(jpi,jpj), zf2(jpi,jpj), & 103 zdd(jpi,jpj), zdt(jpi,jpj), zds(jpi,jpj), & 104 deltat(jpi,jpj), deltac(jpi,jpj), & 105 zs1(jpi,jpj), zs2(jpi,jpj), zs12(jpi,jpj),& 106 zu_ice(jpi,jpj), zv_ice(jpi,jpj), & 107 zresr(jpi,jpj), Stat=ierr(2)) 108 109 lim_rhg_alloc = MAXVAL(ierr) 110 111 END FUNCTION lim_rhg_alloc 112 52 113 53 114 SUBROUTINE lim_rhg( k_j1, k_jpj ) … … 111 172 REAL(wp) :: za, zstms, zsang, zmask ! local scalars 112 173 113 REAL(wp),DIMENSION(jpi,jpj) :: &114 zpresh , & !: temporary array for ice strength115 zpreshc , & !: Ice strength on grid cell corners (zpreshc)116 zfrld1, zfrld2, & !: lead fraction on U/V points117 zmass1, zmass2, & !: ice/snow mass on U/V points118 zcorl1, zcorl2, & !: coriolis parameter on U/V points119 za1ct, za2ct , & !: temporary arrays120 zc1 , & !: ice mass121 zusw , & !: temporary weight for the computation122 !: of ice strength123 u_oce1, v_oce1, & !: ocean u/v component on U points124 u_oce2, v_oce2, & !: ocean u/v component on V points125 u_ice2, & !: ice u component on V point126 v_ice1 !: ice v component on U point127 128 174 REAL(wp) :: & 129 175 dtevp, & ! time step for subcycling … … 140 186 sigma1, sigma2 ! internal ice stress 141 187 142 REAL(wp),DIMENSION(jpi,jpj) :: zf1, zf2 ! arrays for internal stresses143 144 REAL(wp),DIMENSION(jpi,jpj) :: &145 zdd, zdt, & ! Divergence and tension at centre of grid cells146 zds, & ! Shear on northeast corner of grid cells147 deltat, & ! Delta at centre of grid cells148 deltac, & ! Delta on corners149 zs1, zs2, & ! Diagonal stress tensor components zs1 and zs2150 zs12 ! Non-diagonal stress tensor component zs12151 152 188 REAL(wp) :: & 153 189 zresm , & ! Maximal error on ice velocity … … 155 191 zdummy ! dummy argument 156 192 157 REAL(wp),DIMENSION(jpi,jpj) :: zu_ice, zv_ice, zresr ! Local error on velocity158 193 !!------------------------------------------------------------------- 159 194 #if defined key_lim2 && ! defined key_lim2_vp -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/thd_ice.F90
r2528 r2590 16 16 IMPLICIT NONE 17 17 PRIVATE 18 19 PUBLIC thd_ice_alloc ! Routine called by nemogcm.F90 18 20 19 21 !!--------------------------- … … 51 53 !: are the variables corresponding to 2d vectors 52 54 53 INTEGER , PUBLIC, DIMENSION(jpij) :: & !:55 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: & !: 54 56 npb , & !: number of points where computations has to be done 55 57 npac !: correspondance between the points (lateral accretion) 56 58 57 REAL(wp), PUBLIC, DIMENSION(jpij) :: & !:59 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: & !: 58 60 qldif_1d , & !: corresponding to the 2D var qldif 59 61 qcmif_1d , & !: corresponding to the 2D var qcmif … … 68 70 t_bo_b !: " " t_bo 69 71 70 REAL(wp), PUBLIC, DIMENSION(jpij) :: & !:72 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: & !: 71 73 sprecip_1d , & !: " " sprecip 72 74 frld_1d , & !: " " frld … … 106 108 hicol_b !: Ice collection thickness accumulated in fleads 107 109 108 REAL(wp), PUBLIC, DIMENSION(jpij) :: & !:110 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: & !: 109 111 t_su_b , & !: " " t_su 110 112 a_i_b , & !: a_i … … 122 124 o_i_b !: Ice age [days] 123 125 124 REAL(wp), PUBLIC, DIMENSION(jpij,nlay_s) :: & !:126 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: & !: 125 127 t_s_b !: corresponding to the 2D var t_s 126 REAL(wp), PUBLIC, DIMENSION(jpij,jkmax) :: & !:128 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: & !: 127 129 t_i_b, & !: corresponding to the 2D var t_i 128 130 s_i_b, & !: profiled ice salinity … … 132 134 ! Clean the following ... 133 135 ! These variables are coded for conservation checks 134 REAL(wp), PUBLIC, DIMENSION(jpij,jpl) :: & !136 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: & ! 135 137 qt_i_in , & !: ice energy summed over categories (initial) 136 138 qt_i_fin , & !: ice energy summed over categories (final) … … 140 142 cons_error, surf_error !: conservation, surface error 141 143 142 REAL(wp), PUBLIC, DIMENSION(jpij,jkmax):: & !: goes to trash144 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:):: & !: goes to trash 143 145 q_i_layer_in, & 144 146 q_i_layer_fin, & 145 147 dq_i_layer, radab 146 148 147 REAL(wp), PUBLIC, DIMENSION(jpij) :: & !:149 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: & !: 148 150 ftotal_in , & !: initial total heat flux 149 151 ftotal_fin !: final total heat flux 150 152 151 REAL(wp), PUBLIC, DIMENSION(jpij,0:nlay_s) :: & !:153 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: & !: 152 154 fc_s 153 REAL(wp), PUBLIC, DIMENSION(jpij,0:jkmax) :: & !:155 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: & !: 154 156 fc_i 155 REAL(wp), PUBLIC, DIMENSION(jpij,nlay_s) :: & !:157 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: & !: 156 158 de_s_lay 157 REAL(wp), PUBLIC, DIMENSION(jpij,jkmax) :: & !:159 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: & !: 158 160 de_i_lay 159 161 INTEGER , PUBLIC :: & … … 161 163 162 164 !!====================================================================== 165 CONTAINS 166 167 FUNCTION thd_ice_alloc() 168 !!---------------------------------------------------------------------! 169 !! *** ROUTINE thd_ice_alloc *** 170 !!---------------------------------------------------------------------! 171 INTEGER :: thd_ice_alloc 172 INTEGER :: ierr(4) 173 !!---------------------------------------------------------------------! 174 175 ALLOCATE(npb(jpij) , npac(jpij), & 176 ! 177 qldif_1d(jpij) , qcmif_1d(jpij) , fstbif_1d(jpij) , & 178 fltbif_1d(jpij), fscbq_1d(jpij) , qsr_ice_1d(jpij) , & 179 fr1_i0_1d(jpij), fr2_i0_1d(jpij), qnsr_ice_1d(jpij) , & 180 qfvbq_1d(jpij) , t_bo_b(jpij) , & 181 Stat=ierr(1)) 182 ! 183 ALLOCATE(sprecip_1d(jpij), frld_1d(jpij) , at_i_b(jpij) , & 184 fbif_1d(jpij) , rdmicif_1d(jpij), rdmsnif_1d(jpij), & 185 qlbbq_1d(jpij) , dmgwi_1d(jpij) , dvsbq_1d(jpij) , & 186 dvbbq_1d(jpij) , dvlbq_1d(jpij) , dvnbq_1d(jpij) , & 187 dqns_ice_1d(jpij),qla_ice_1d(jpij), dqla_ice_1d(jpij),& 188 tatm_ice_1d(jpij),fsup(jpij) , focea(jpij) , & 189 i0(jpij) , old_ht_i_b(jpij), old_ht_s_b(jpij), & 190 fsbri_1d(jpij) , fhbri_1d(jpij) , fseqv_1d(jpij) , & 191 dsm_i_fl_1d(jpij),dsm_i_gd_1d(jpij),dsm_i_se_1d(jpij),& 192 dsm_i_si_1d(jpij),hicol_b(jpij) , & 193 Stat=ierr(2)) 194 ! 195 ALLOCATE(t_su_b(jpij) , a_i_b(jpij) , ht_i_b(jpij) , & 196 ht_s_b(jpij) , fc_su(jpij) , fc_bo_i(jpij) , & 197 dh_s_tot(jpij) , dh_i_surf(jpij), dh_i_bott(jpij) , & 198 dh_snowice(jpij) , sm_i_b(jpij) , s_i_new(jpij) , & 199 s_snowice(jpij) , o_i_b(jpij) , & 200 ! 201 t_s_b(jpij,nlay_s), & 202 ! 203 t_i_b(jpij,jkmax), s_i_b(jpij,jkmax) , & 204 q_i_b(jpij,jkmax), q_s_b(jpij,jkmax) , & 205 Stat=ierr(3)) 206 ! 207 ALLOCATE(qt_i_in(jpij,jpl) , qt_i_fin(jpij,jpl), qt_s_in(jpij,jpl), & 208 qt_s_fin(jpij,jpl), dq_i(jpij,jpl) , sum_fluxq(jpij,jpl), & 209 fatm(jpij,jpl), foce(jpij,jpl) , cons_error(jpij,jpl),& 210 surf_error(jpij,jpl), & 211 ! 212 q_i_layer_in(jpij,jkmax), q_i_layer_fin(jpij,jkmax), & 213 dq_i_layer(jpij,jkmax) , radab(jpij,jkmax), & 214 ! 215 ftotal_in(jpij), ftotal_fin(jpij), & 216 ! 217 fc_s(jpij,0:nlay_s), fc_i(jpij,0:jkmax) , & 218 de_s_lay(jpij,nlay_s), de_i_lay(jpij,jkmax) , & 219 ! 220 Stat=ierr(4)) 221 222 thd_ice_alloc = MAXVAL(ierr) 223 224 IF(thd_ice_alloc /= 0)THEN 225 CALL ctl_warn('thd_ice_alloc: failed to allocate arrays.') 226 END IF 227 228 END FUNCTION thd_ice_alloc 229 163 230 END MODULE thd_ice
Note: See TracChangeset
for help on using the changeset viewer.