Changeset 2636 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2
- Timestamp:
- 2011-03-01T20:04:06+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/dom_ice_2.F90
r2590 r2636 15 15 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 16 16 !!---------------------------------------------------------------------- 17 USE par_ice_2 17 USE par_ice_2 ! LIM parameters 18 18 19 19 IMPLICIT NONE 20 20 PRIVATE 21 21 22 ! Routine accessibility23 22 PUBLIC dom_ice_alloc_2 ! Called from nemogcm.F90 24 23 … … 42 41 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tmi !: ice mask: =1 if ice thick > 0 43 42 # endif 43 !!---------------------------------------------------------------------- 44 CONTAINS 45 46 INTEGER FUNCTION dom_ice_alloc_2() 47 !!---------------------------------------------------------------------- 48 USE lib_mpp, ONLY: ctl_warn ! MPP library 49 INTEGER :: ierr(2) 50 !!---------------------------------------------------------------------- 51 ierr(:) = 0 52 ! 53 ALLOCATE( fs2cor(jpi,jpj), fcor(jpi,jpj), & 54 & covrai(jpi,jpj), area(jpi,jpj), tms(jpi,jpj), tmu(jpi,jpj), & 55 & wght(jpi,jpj,2,2), Stat=ierr(1) ) 56 ! 57 ALLOCATE( & 58 #if defined key_lim2_vp 59 & akappa(jpi,jpj,2,2), bkappa(jpi,jpj,2,2), & 60 & alambd(jpi,jpj,2,2,2,2), & 61 #else 62 & tmv(jpi,jpj), tmf(jpi,jpj), tmi(jpi,jpj), & 63 #endif 64 & Stat=ierr(2) ) 65 ! 66 dom_ice_alloc_2 = MAXVAL(ierr) 67 IF( dom_ice_alloc_2 /= 0 ) CALL ctl_warn('dom_ice_alloc_2: failed to allocate arrays') 68 ! 69 END FUNCTION dom_ice_alloc_2 44 70 45 71 #else … … 49 75 #endif 50 76 !!====================================================================== 51 #if defined key_lim252 CONTAINS53 54 FUNCTION dom_ice_alloc_2()55 USE in_out_manager, ONLY: ctl_warn56 IMPLICIT none57 INTEGER :: dom_ice_alloc_258 INTEGER :: ierr(2)59 60 ierr(:) = 061 62 ALLOCATE(fs2cor(jpi,jpj), fcor(jpi,jpj), &63 covrai(jpi,jpj), area(jpi,jpj), tms(jpi,jpj), tmu(jpi,jpj), &64 wght(jpi,jpj,2,2), Stat=ierr(1) )65 66 ALLOCATE( &67 #if defined key_lim2_vp68 akappa(jpi,jpj,2,2), bkappa(jpi,jpj,2,2), &69 alambd(jpi,jpj,2,2,2,2), &70 #else71 tmv(jpi,jpj), tmf(jpi,jpj), tmi(jpi,jpj), &72 #endif73 Stat=ierr(2))74 75 dom_ice_alloc_2 = MAXVAL(ierr)76 77 IF(dom_ice_alloc_2 /= 0)THEN78 CALL ctl_warn('dom_ice_alloc_2: failed to allocate arrays.')79 END IF80 81 END FUNCTION dom_ice_alloc_282 #endif83 84 77 END MODULE dom_ice_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/ice_2.F90
r2613 r2636 12 12 !! 'key_lim2' : LIM 2.0 sea-ice model 13 13 !!---------------------------------------------------------------------- 14 USE par_ice_2 14 USE par_ice_2 ! LIM sea-ice parameters 15 15 16 16 IMPLICIT NONE … … 127 127 CONTAINS 128 128 129 FUNCTION ice_alloc_2()129 INTEGER FUNCTION ice_alloc_2() 130 130 !!----------------------------------------------------------------- 131 131 !! *** FUNCTION ice_alloc_2 *** 132 132 !!----------------------------------------------------------------- 133 USE in_out_manager, ONLY: ctl_warn 134 INTEGER :: ice_alloc_2 ! return value 135 INTEGER :: ierr(9) ! Local variables 133 USE lib_mpp, ONLY: ctl_warn ! MPP library 134 INTEGER :: ierr(9) ! Local variables 136 135 !!----------------------------------------------------------------- 137 138 136 ierr(:) = 0 139 137 ! 140 138 ALLOCATE( ahiu(jpi,jpj) , pahu(jpi,jpj) , & 141 139 & ahiv(jpi,jpj) , pahv(jpi,jpj) , ust2s(jpi,jpj) , STAT=ierr(1) ) 142 140 ! 143 141 !* Ice Rheology 144 142 #if defined key_lim2_vp … … 149 147 stress12_i(jpi,jpj) , shear_i(jpi,jpj) , hicm(jpi,jpj) , STAT=ierr(2) ) 150 148 #endif 151 152 149 ALLOCATE( rdvosif(jpi,jpj) , rdvobif(jpi,jpj) , & 153 150 & fdvolif(jpi,jpj) , rdvonif(jpi,jpj) , & … … 181 178 ALLOCATE(sxst (jpi,jpj) , syst (jpi,jpj) , sxxst (jpi,jpj) , & 182 179 & syyst (jpi,jpj) , sxyst (jpi,jpj) , STAT=ierr(9)) 183 180 ! 184 181 ice_alloc_2 = MAXVAL( ierr ) 185 182 ! 186 183 IF( ice_alloc_2 /= 0 ) CALL ctl_warn('ice_alloc_2: failed to allocate arrays.') 187 184 ! -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/iceini_2.F90
r2626 r2636 30 30 USE limsbc_2 ! LIM2 surface boundary condition 31 31 USE in_out_manager ! I/O manager 32 32 USE lib_mpp ! MPP library 33 33 34 IMPLICIT NONE 34 35 PRIVATE -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limadv_2.F90
r2633 r2636 22 22 USE lbclnk 23 23 USE in_out_manager ! I/O manager 24 USE lib_mpp ! MPP library 24 25 USE prtctl ! Print control 25 26 … … 79 80 IF( wrk_in_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 80 81 CALL ctl_stop( 'lim_adv_x_2 : requested workspace arrays unavailable.' ) ; RETURN 81 END 82 ENDIF 82 83 83 84 ! Limitation of moments. … … 224 225 ENDIF 225 226 ! 226 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 227 CALL ctl_stop( 'lim_adv_x_2 : failed to release workspace arrays.' ) 228 END IF 227 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) & 228 CALL ctl_stop( 'lim_adv_x_2 : failed to release workspace arrays.' ) 229 229 ! 230 230 END SUBROUTINE lim_adv_x_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limdia_2.F90
r2613 r2636 12 12 !! 'key_lim2' : LIM 2.0 sea-ice model 13 13 !!---------------------------------------------------------------------- 14 !!----------------------------------------------------------------------15 14 !! lim_dia_2 : computation of the time evolution of keys var. 16 15 !! lim_dia_init_2 : initialization and namelist read … … 24 23 USE limistate_2 ! 25 24 USE in_out_manager ! I/O manager 25 USE lib_mpp ! MPP library 26 26 27 27 IMPLICIT NONE -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limdmp_2.F90
r2528 r2636 13 13 !! lim_dmp_2 : ice model damping 14 14 !!---------------------------------------------------------------------- 15 USE in_out_manager ! I/O manager16 15 USE ice_2 ! ice variables 17 16 USE sbc_oce, ONLY : nn_fsbc ! for fldread 18 17 USE dom_oce ! for mi0; mi1 etc ... 19 18 USE fldread ! read input fields 20 19 USE in_out_manager ! I/O manager 20 USE lib_mpp ! MPP library 21 21 22 IMPLICIT NONE 22 23 PRIVATE -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limdyn_2.F90
r2633 r2636 72 72 73 73 IF( wrk_in_use(1, 1,2) .OR. wrk_in_use(2, 1,2) ) THEN 74 CALL ctl_stop( 'lim_dyn_2 : requested workspace arrays unavailable .' ) ; RETURN75 END 74 CALL ctl_stop( 'lim_dyn_2 : requested workspace arrays unavailable' ) ; RETURN 75 ENDIF 76 76 zind => wrk_1d_1(1:jpj) ! Set-up pointers to sub-arrays of workspaces 77 77 zmsk => wrk_1d_2(1:jpj) … … 210 210 IF(ln_ctl) CALL prt_ctl(tab2d_1=ust2s , clinfo1=' lim_dyn : ust2s :') 211 211 ! 212 IF( wrk_not_released(1, 1,2) .OR. wrk_not_released(2, 1,2) )THEN 213 CALL ctl_stop('lim_dyn_2 : failed to release workspace arrays.') 214 END IF 212 IF( wrk_not_released(1, 1,2) .OR. & 213 wrk_not_released(2, 1,2) ) CALL ctl_stop('lim_dyn_2 : failed to release workspace arrays') 215 214 ! 216 215 END SUBROUTINE lim_dyn_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limhdf_2.F90
r2633 r2636 149 149 ENDIF 150 150 ! 151 IF( wrk_not_released(2, 11,12,13,14,15,16) ) THEN 152 CALL ctl_stop( 'lim_hdf_2 : failed to release workspace arrays.' ) ; RETURN 153 END IF 151 IF( wrk_not_released(2, 11,12,13,14,15,16) ) CALL ctl_stop('lim_hdf_2: failed to release workspace arrays') 154 152 ! 155 153 END SUBROUTINE lim_hdf_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limmsh_2.F90
r2633 r2636 19 19 USE lbclnk 20 20 USE in_out_manager 21 USE lib_mpp ! MPP library 21 22 22 23 IMPLICIT NONE … … 56 57 !!--------------------------------------------------------------------- 57 58 58 IF(wrk_in_use(2, 1,2))THEN 59 CALL ctl_stop('lim_msh_2 : requested workspace arrays unavailable.') 60 RETURN 61 END IF 59 IF( wrk_in_use(2, 1,2) ) THEN 60 CALL ctl_stop('lim_msh_2 : requested workspace arrays unavailable') ; RETURN 61 ENDIF 62 62 63 63 IF(lwp) THEN … … 281 281 area(:,:) = e1t(:,:) * e2t(:,:) 282 282 ! 283 IF(wrk_not_released(2, 1,2))THEN 284 CALL ctl_stop('lim_msh_2 : failed to release workspace arrays.') 285 END IF 283 IF( wrk_not_released(2, 1,2) ) CALL ctl_stop('lim_msh_2 : failed to release workspace arrays') 286 284 ! 287 285 END SUBROUTINE lim_msh_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90
r2633 r2636 57 57 CONTAINS 58 58 59 FUNCTION lim_rhg_alloc_2()59 INTEGER FUNCTION lim_rhg_alloc_2() 60 60 !!------------------------------------------------------------------- 61 61 !! *** FUNCTION lim_rhg_alloc_2 *** 62 62 !!------------------------------------------------------------------- 63 INTEGER :: lim_rhg_alloc_2 64 !!------------------------------------------------------------------- 65 66 ALLOCATE(zu0(jpi,0:jpj+1), zv0(jpi,0:jpj+1), & 67 zu_n(jpi,0:jpj+1), zv_n(jpi,0:jpj+1), & 68 zu_a(jpi,0:jpj+1), zv_a(jpi,0:jpj+1), & 69 zviszeta(jpi,0:jpj+1), zviseta(jpi,0:jpj+1), & 70 zzfrld(jpi,0:jpj+1), zztms(jpi,0:jpj+1), & 71 zi1(jpi,0:jpj+1), zi2(jpi,0:jpj+1), & 72 zmasst(jpi,0:jpj+1), zpresh(jpi,0:jpj+1), & 73 Stat=lim_rhg_alloc_2) 74 75 IF(lim_rhg_alloc_2 /= 0)THEN 76 CALL ctl_warn('lim_rhg_alloc_2 : failed to allocate arrays.') 77 END IF 78 63 ALLOCATE( zu0(jpi,0:jpj+1), zv0(jpi,0:jpj+1), & 64 & zu_n(jpi,0:jpj+1), zv_n(jpi,0:jpj+1), & 65 & zu_a(jpi,0:jpj+1), zv_a(jpi,0:jpj+1), & 66 & zviszeta(jpi,0:jpj+1), zviseta(jpi,0:jpj+1), & 67 & zzfrld(jpi,0:jpj+1), zztms(jpi,0:jpj+1), & 68 & zi1(jpi,0:jpj+1), zi2(jpi,0:jpj+1), & 69 & zmasst(jpi,0:jpj+1), zpresh(jpi,0:jpj+1), & 70 & Stat=lim_rhg_alloc_2) 71 ! 72 IF( lim_rhg_alloc_2 /= 0 ) CALL ctl_warn('lim_rhg_alloc_2 : failed to allocate arrays') 73 ! 79 74 END FUNCTION lim_rhg_alloc_2 80 75 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
r2633 r2636 30 30 USE albedo ! albedo parameters 31 31 USE lbclnk ! ocean lateral boundary condition - MPP exchanges 32 USE lib_mpp ! MPP library 32 33 USE in_out_manager ! I/O manager 33 34 USE diaar5, ONLY : lk_diaar5 … … 62 63 CONTAINS 63 64 64 FUNCTION lim_sbc_alloc_2()65 INTEGER FUNCTION lim_sbc_alloc_2() 65 66 !!------------------------------------------------------------------- 66 67 !! *** ROUTINE lim_sbc_alloc_2 *** 67 68 !!------------------------------------------------------------------- 68 INTEGER :: lim_sbc_alloc_269 !!-------------------------------------------------------------------70 !71 69 ALLOCATE( soce_0(jpi,jpj) , utau_oce(jpi,jpj) , & 72 70 & sice_0(jpi,jpj) , vtau_oce(jpi,jpj) , tmod_io(jpi,jpj), STAT=lim_sbc_alloc_2) … … 117 115 118 116 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 4,5) )THEN 119 CALL ctl_stop('lim_sbc_flx_2 : requested workspace arrays unavailable.') 120 RETURN 121 END IF 117 CALL ctl_stop('lim_sbc_flx_2 : requested workspace arrays unavailable') ; RETURN 118 ENDIF 122 119 zalb => wrk_3d_4(:,:,1:1) ! Set-up pointers to sub-arrays of 3d workspaces 123 120 zalbp => wrk_3d_5(:,:,1:1) … … 253 250 ENDIF 254 251 ! 255 IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 4,5) )THEN 256 CALL ctl_stop('lim_sbc_flx_2 : failed to release workspace arrays.') 257 END IF 252 IF( wrk_not_released(2, 1) .OR. & 253 wrk_not_released(3, 4,5) ) CALL ctl_stop('lim_sbc_flx_2 : failed to release workspace arrays') 258 254 ! 259 255 END SUBROUTINE lim_sbc_flx_2 … … 297 293 !!--------------------------------------------------------------------- 298 294 ! 299 IF( wrk_in_use(2, 1,2))THEN295 IF( wrk_in_use(2, 1,2) ) THEN 300 296 CALL ctl_stop('lim_sbc_tau_2 : requested workspace arrays unavailable.') ; RETURN 301 END 297 ENDIF 302 298 ! 303 299 SELECT CASE( cp_ice_msh ) … … 413 409 & tab2d_2=vtau, clinfo2=' vtau : ' , mask2=vmask ) 414 410 ! 415 IF( wrk_not_released(2, 1,2) ) CALL ctl_stop('lim_sbc_tau_2 : failed to release workspace arrays.')411 IF( wrk_not_released(2, 1,2) ) CALL ctl_stop('lim_sbc_tau_2 : failed to release workspace arrays') 416 412 ! 417 413 END SUBROUTINE lim_sbc_tau_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90
r2633 r2636 116 116 !!------------------------------------------------------------------- 117 117 118 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10) .OR. & 119 wrk_in_use(3, 4) ) THEN 120 CALL ctl_stop('lim_thd_2 : requested workspace arrays unavailable') 121 RETURN 122 END IF 118 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10) .OR. & 119 wrk_in_use(3, 4) ) THEN 120 CALL ctl_stop('lim_thd_2 : requested workspace arrays unavailable') ; RETURN 121 ENDIF 123 122 124 123 IF( kt == nit000 ) CALL lim_thd_init_2 ! Initialization (first time-step only) … … 521 520 ENDIF 522 521 ! 523 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10) .OR. &524 wrk_not_released(3, 4) ) THEN522 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10) .OR. & 523 wrk_not_released(3, 4) ) THEN 525 524 CALL ctl_stop('lim_thd_2 : failed to release workspace arrays') 526 END 525 ENDIF 527 526 ! 528 527 END SUBROUTINE lim_thd_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limthd_lac_2.F90
r2633 r2636 7 7 8 8 !!---------------------------------------------------------------------- 9 !! lim_lat_acr_2 10 !! * Modules used9 !! lim_lat_acr_2 : lateral accretion of ice 10 !!---------------------------------------------------------------------- 11 11 USE par_oce ! ocean parameters 12 12 USE phycst … … 14 14 USE ice_2 15 15 USE limistate_2 16 16 USE lib_mpp ! MPP library 17 17 18 IMPLICIT NONE 18 19 PRIVATE 19 20 20 !! * Routine accessibility 21 PUBLIC lim_thd_lac_2 ! called by lim_thd_2 22 23 !! * Module variables 21 PUBLIC lim_thd_lac_2 ! called by lim_thd_2 22 24 23 REAL(wp) :: & ! constant values 25 24 epsi20 = 1.e-20 , & … … 27 26 zzero = 0.e0 , & 28 27 zone = 1.e0 28 29 29 !!---------------------------------------------------------------------- 30 30 !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010) … … 70 70 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 71 71 USE wrk_nemo, ONLY: wrk_1d_1, wrk_1d_2, wrk_1d_3, wrk_1d_4, wrk_1d_5, wrk_1d_6 72 USE in_out_manager, ONLY: ctl_stop 73 !! 74 !! * Arguments 72 ! 75 73 INTEGER , INTENT(IN):: & 76 74 kideb , & ! start point on which the the computation is applied 77 75 kiut ! end point on which the the computation is applied 78 76 79 ! !* Local variables77 ! * Local variables 80 78 INTEGER :: & 81 79 ji , & ! dummy loop indices … … 106 104 !!--------------------------------------------------------------------- 107 105 108 IF(wrk_in_use(1, 1,2,3,4,5,6))THEN 109 CALL ctl_stop('lim_thd_lac_2 : requestead workspace arrays unavailable.') 110 RETURN 111 END IF 106 IF( wrk_in_use(1, 1,2,3,4,5,6) ) THEN 107 CALL ctl_stop('lim_thd_lac_2 : requestead workspace arrays unavailable') ; RETURN 108 ENDIF 112 109 ! Set-up pointers to sub-arrays of workspace arrays 113 110 zqbgow => wrk_1d_1(1:jpij) … … 235 232 END DO 236 233 237 IF(wrk_not_released(1, 1,2,3,4,5,6))THEN 238 CALL ctl_stop('lim_thd_lac_2 : failed to release workspace arrays.') 239 END IF 240 234 IF( wrk_not_released(1, 1,2,3,4,5,6) ) CALL ctl_stop('lim_thd_lac_2 : failed to release workspace arrays.') 235 ! 241 236 END SUBROUTINE lim_thd_lac_2 242 237 #else 243 !! ======================================================================238 !!---------------------------------------------------------------------- 244 239 !! *** MODULE limthd_lac_2 *** 245 240 !! no sea ice model 246 !! ======================================================================241 !!---------------------------------------------------------------------- 247 242 CONTAINS 248 243 SUBROUTINE lim_thd_lac_2 ! Empty routine 249 244 END SUBROUTINE lim_thd_lac_2 250 245 #endif 246 !!====================================================================== 251 247 END MODULE limthd_lac_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90
r2633 r2636 11 11 !! 'key_lim2' LIM 2.0 sea-ice model 12 12 !!---------------------------------------------------------------------- 13 !!----------------------------------------------------------------------14 13 !! lim_thd_zdf_2 : vertical accr./abl. and lateral ablation of sea ice 15 14 !!---------------------------------------------------------------------- 16 !! * Modules used17 15 USE par_oce ! ocean parameters 18 16 USE phycst ! ??? … … 21 19 USE limistate_2 22 20 USE in_out_manager 21 USE lib_mpp ! MPP library 23 22 USE cpl_oasis3, ONLY : lk_cpl 24 23 … … 35 34 !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010) 36 35 !! $Id$ 37 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)36 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 38 37 !!---------------------------------------------------------------------- 39 40 38 CONTAINS 41 39 … … 170 168 171 169 IF(wrk_in_use(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 172 11,12,13,14,15,16,17,18,19,20, & 173 21,22,23,24,25,26,27))THEN 174 CALL ctl_stop('lim_thd_zdf_2 : requested workspace arrays unavailable.') 175 RETURN 176 END IF 170 & 11,12,13,14,15,16,17,18,19,20, & 171 & 21,22,23,24,25,26,27) ) THEN 172 CALL ctl_stop('lim_thd_zdf_2 : requested workspace arrays unavailable') ; RETURN 173 ENDIF 177 174 178 175 ztsmlt => wrk_1d_1(1:jpij) … … 808 805 END DO 809 806 ! 810 IF(wrk_not_released(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 811 11,12,13,14,15,16,17,18,19,20, & 812 21,22,23,24,25,26,27))THEN 813 CALL ctl_stop('lim_thd_zdf_2 : failed to release workspace arrays.') 814 END IF 807 IF( wrk_not_released(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 808 & 11,12,13,14,15,16,17,18,19,20, & 809 & 21,22,23,24,25,26,27) ) & 810 CALL ctl_stop('lim_thd_zdf_2 : failed to release workspace arrays.') 815 811 ! 816 812 END SUBROUTINE lim_thd_zdf_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90
r2633 r2636 79 79 !--------------------------------------------------------------------- 80 80 81 IF(wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10))THEN 82 CALL ctl_stop('lim_trp_2 : requested workspace arrays unavailable.') 83 RETURN 84 END IF 81 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10) ) THEN 82 CALL ctl_stop('lim_trp_2 : requested workspace arrays unavailable') ; RETURN 83 ENDIF 85 84 86 85 IF( kt == nit000 ) CALL lim_trp_init_2 ! Initialization (first time-step only) … … 274 273 ENDIF 275 274 ! 276 IF(wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10))THEN 277 CALL ctl_stop('lim_trp_2 : failed to release workspace arrays.') 278 END IF 275 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10) ) CALL ctl_stop('lim_trp_2 : failed to release workspace arrays') 279 276 ! 280 277 END SUBROUTINE lim_trp_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90
r2633 r2636 26 26 USE ice_2 27 27 28 USE dianam ! build name of file (routine) 28 29 USE lbclnk 29 USE dianam ! build name of file (routine)30 30 USE in_out_manager 31 USE lib_mpp ! MPP library 31 32 USE iom 32 33 USE ioipsl … … 69 70 CONTAINS 70 71 71 FUNCTION lim_wri_alloc_2()72 INTEGER FUNCTION lim_wri_alloc_2() 72 73 !!------------------------------------------------------------------- 73 74 !! *** ROUTINE lim_wri_alloc_2 *** 74 75 !!------------------------------------------------------------------- 75 IMPLICIT none76 INTEGER :: lim_wri_alloc_277 !!-------------------------------------------------------------------78 !79 76 ALLOCATE( ndex51(jpij), zcmo(jpi,jpj,jpnoumax), STAT=lim_wri_alloc_2) 80 77 ! … … 115 112 !!------------------------------------------------------------------- 116 113 117 IF(wrk_in_use(2, 1))THEN 118 CALL ctl_stop('lim_wri_2 : requested workspace array unavailable.') 119 RETURN 120 END IF 114 IF( wrk_in_use(2, 1) ) THEN 115 CALL ctl_stop('lim_wri_2 : requested workspace array unavailable') ; RETURN 116 ENDIF 121 117 !--------------------! 122 118 IF( kt == nit000 ) THEN ! Initialisation ! … … 211 207 IF( ( nn_fsbc * niter ) >= nitend ) CALL histclo( nice ) 212 208 213 IF(wrk_not_released(2, 1))THEN 214 CALL ctl_stop('lim_wri_2 : failed to release workspace array.') 215 END IF 216 209 IF( wrk_not_released(2, 1) ) CALL ctl_stop('lim_wri_2 : failed to release workspace array.') 210 ! 217 211 END SUBROUTINE lim_wri_2 218 212 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/thd_ice_2.F90
r2590 r2636 12 12 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 13 13 !!---------------------------------------------------------------------- 14 !! * Modules used15 14 USE par_ice_2 16 15 … … 85 84 tbif_1d !: corresponding to the 2D var tbif 86 85 87 !!====================================================================== 86 !!---------------------------------------------------------------------- 87 !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010) 88 !! $Id$ 89 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 90 !!---------------------------------------------------------------------- 88 91 CONTAINS 89 92 90 FUNCTION thd_ice_alloc_2() 91 USE in_out_manager, ONLY: ctl_warn 92 IMPLICIT none 93 INTEGER :: thd_ice_alloc_2 94 ! Local vars 93 INTEGER FUNCTION thd_ice_alloc_2() 94 !!---------------------------------------------------------------------- 95 USE lib_mpp ! MPP library 95 96 INTEGER :: ierr(4) 96 97 !!---------------------------------------------------------------------- 98 ! 97 99 ierr(:) = 0 98 99 ALLOCATE( npb(jpij), npac(jpij), &100 qldif_1d(jpij), qcmif_1d(jpij), thcm_1d(jpij), &101 fstbif_1d(jpij), fltbif_1d(jpij), fscbq_1d(jpij), &102 qsr_ice_1d(jpij),fr1_i0_1d(jpij), fr2_i0_1d(jpij), Stat=ierr(1))103 104 ALLOCATE( qns_ice_1d(jpij), qfvbq_1d(jpij), sist_1d(jpij), tfu_1d(jpij), &105 sprecip_1d(jpij), h_snow_1d(jpij),h_ice_1d(jpij),frld_1d(jpij),&106 qstbif_1d(jpij), fbif_1d(jpij), Stat=ierr(2))107 108 ALLOCATE( rdmicif_1d(jpij), rdmsnif_1d(jpij), qlbbq_1d(jpij), &109 dmgwi_1d(jpij) , dvsbq_1d(jpij) , rdvomif_1d(jpij), &110 dvbbq_1d(jpij) , dvlbq_1d(jpij) , dvnbq_1d(jpij) , &111 Stat=ierr(3))112 113 ALLOCATE( dqns_ice_1d(jpij) ,qla_ice_1d(jpij), dqla_ice_1d(jpij), &114 tbif_1d(jpij, jplayersp1), Stat=ierr(4))115 100 ! 101 ALLOCATE( npb(jpij), npac(jpij), & 102 & qldif_1d(jpij), qcmif_1d(jpij), thcm_1d(jpij), & 103 & fstbif_1d(jpij), fltbif_1d(jpij), fscbq_1d(jpij), & 104 & qsr_ice_1d(jpij),fr1_i0_1d(jpij), fr2_i0_1d(jpij), Stat=ierr(1)) 105 ! 106 ALLOCATE( qns_ice_1d(jpij), qfvbq_1d(jpij), sist_1d(jpij), tfu_1d(jpij), & 107 & sprecip_1d(jpij), h_snow_1d(jpij),h_ice_1d(jpij),frld_1d(jpij),& 108 & qstbif_1d(jpij), fbif_1d(jpij), Stat=ierr(2)) 109 ! 110 ALLOCATE( rdmicif_1d(jpij), rdmsnif_1d(jpij), qlbbq_1d(jpij), & 111 & dmgwi_1d(jpij) , dvsbq_1d(jpij) , rdvomif_1d(jpij), & 112 & dvbbq_1d(jpij) , dvlbq_1d(jpij) , dvnbq_1d(jpij) , & 113 & Stat=ierr(3)) 114 ! 115 ALLOCATE( dqns_ice_1d(jpij) ,qla_ice_1d(jpij), dqla_ice_1d(jpij), & 116 & tbif_1d(jpij, jplayersp1), Stat=ierr(4)) 117 ! 116 118 thd_ice_alloc_2 = MAXVAL(ierr) 117 118 IF(thd_ice_alloc_2 /= 0)THEN 119 CALL ctl_warn('thd_ice_alloc_2: failed to allocate arrays.') 120 END IF 121 119 IF( thd_ice_alloc_2 /= 0 ) CALL ctl_warn('thd_ice_alloc_2: failed to allocate arrays') 120 ! 122 121 END FUNCTION thd_ice_alloc_2 123 122 124 123 #endif 124 !!====================================================================== 125 125 END MODULE thd_ice_2
Note: See TracChangeset
for help on using the changeset viewer.