- Timestamp:
- 2011-11-17T16:53:24+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90
r2715 r3145 27 27 USE lbclnk ! lateral boundary condition - MPP exchanges 28 28 USE lib_mpp ! MPP library 29 USE wrk_nemo_2 ! work arrays 29 30 USE in_out_manager ! I/O manager 30 31 USE prtctl ! Print control … … 34 35 35 36 PUBLIC lim_rhg_2 ! routine called by lim_dyn 36 PUBLIC lim_rhg_alloc_2 ! routine called by lim_dyn_alloc_237 37 38 38 REAL(wp) :: rzero = 0._wp ! constant value: zero 39 39 REAL(wp) :: rone = 1._wp ! and one 40 41 ! 2D workspaces for lim_rhg_2. Can't use wrk_nemo module for them because42 ! extent in 2nd dimension is > jpj.43 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:) :: zu0, zv044 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:) :: zu_n, zv_n45 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:) :: zu_a, zv_a46 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:) :: zviszeta, zviseta47 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:) :: zzfrld, zztms48 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:) :: zi1, zi2, zmasst, zpresh49 40 50 41 !! * Substitutions … … 56 47 !!---------------------------------------------------------------------- 57 48 CONTAINS 58 59 INTEGER FUNCTION lim_rhg_alloc_2()60 !!-------------------------------------------------------------------61 !! *** FUNCTION lim_rhg_alloc_2 ***62 !!-------------------------------------------------------------------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 !74 END FUNCTION lim_rhg_alloc_275 76 49 77 50 SUBROUTINE lim_rhg_2( k_j1, k_jpj ) … … 87 60 !! at I-point 88 61 !!------------------------------------------------------------------- 89 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released90 USE wrk_nemo, ONLY: zfrld => wrk_2d_1, zmass => wrk_2d_2, zcorl => wrk_2d_391 USE wrk_nemo, ONLY: za1ct => wrk_2d_4, za2ct => wrk_2d_5, zresr => wrk_2d_692 USE wrk_nemo, ONLY: zc1u => wrk_2d_7, zc1v => wrk_2d_8, zc2u => wrk_2d_993 USE wrk_nemo, ONLY: zc2v => wrk_2d_10, zsang => wrk_2d_1194 !!95 62 INTEGER, INTENT(in) :: k_j1 ! southern j-index for ice computation 96 63 INTEGER, INTENT(in) :: k_jpj ! northern j-index for ice computation … … 113 80 REAL(wp) :: zs21_11, zs21_12, zs21_21, zs21_22 114 81 REAL(wp) :: zs22_11, zs22_12, zs22_21, zs22_22 82 REAL(wp), POINTER, DIMENSION(:,:) :: zfrld, zmass, zcorl 83 REAL(wp), POINTER, DIMENSION(:,:) :: za1ct, za2ct, zresr 84 REAL(wp), POINTER, DIMENSION(:,:) :: zc1u, zc1v, zc2u, zc2v 85 REAL(wp), POINTER, DIMENSION(:,:) :: zsang 86 REAL(wp), POINTER, DIMENSION(:,:) :: zu0, zv0 87 REAL(wp), POINTER, DIMENSION(:,:) :: zu_n, zv_n 88 REAL(wp), POINTER, DIMENSION(:,:) :: zu_a, zv_a 89 REAL(wp), POINTER, DIMENSION(:,:) :: zviszeta, zviseta 90 REAL(wp), POINTER, DIMENSION(:,:) :: zzfrld, zztms 91 REAL(wp), POINTER, DIMENSION(:,:) :: zi1, zi2, zmasst, zpresh 115 92 !!------------------------------------------------------------------- 116 93 94 CALL wrk_alloc( jpi,jpj, zfrld, zmass, zcorl, za1ct, za2ct, zresr ) 95 CALL wrk_alloc( jpi,jpj, zc1u , zc1v , zc2u , zc2v , zsang ) 96 CALL wrk_alloc( jpi,jpj+2, zu0, zv0, zu_n, zv_n, zu_a, zv_a, zviszeta, zviseta, kistart = 0 ) 97 CALL wrk_alloc( jpi,jpj+2, zzfrld, zztms, zi1, zi2, zmasst, zpresh, kistart = 0 ) 98 117 99 ! Store initial velocities 118 100 ! ---------------- … … 592 574 ENDIF 593 575 576 CALL wrk_dealloc( jpi,jpj, zfrld, zmass, zcorl, za1ct, za2ct, zresr ) 577 CALL wrk_dealloc( jpi,jpj, zc1u , zc1v , zc2u , zc2v , zsang ) 578 CALL wrk_dealloc( jpi,jpj+2, zu0, zv0, zu_n, zv_n, zu_a, zv_a, zviszeta, zviseta, kistart = 0 ) 579 CALL wrk_dealloc( jpi,jpj+2, zzfrld, zztms, zi1, zi2, zmasst, zpresh, kistart = 0 ) 580 594 581 END SUBROUTINE lim_rhg_2 595 582
Note: See TracChangeset
for help on using the changeset viewer.