Changeset 2607
- Timestamp:
- 2011-02-22T18:14:26+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r2597 r2607 572 572 USE tranxt, ONLY: tra_nxt_alloc 573 573 USE trazdf, ONLY: tra_zdf_alloc 574 575 ! TOP-related alloc routines... 574 576 #if defined key_top 577 USE trcadv, ONLY: trc_adv_alloc 575 578 USE trc, ONLY: trc_alloc 579 USE trcnxt, ONLY: trc_nxt_alloc 580 USE trczdf, ONLY: trc_zdf_alloc 581 USE trdmod_trc_oce,ONLY: trd_mod_trc_oce_alloc 576 582 #endif 577 583 #if defined key_top && ! defined key_iomput 578 584 USE trcdia, ONLY: trc_dia_alloc 579 585 #endif 586 #if defined key_top && defined key_trcdmp 587 USE trcdmp, ONLY: trc_dmp_alloc 588 #endif 580 589 #if defined key_top && defined key_dtatrc 581 590 USE trcdta, ONLY: trc_dta_alloc 582 591 #endif 592 ! ...end of TOP-related alloc routines 593 594 ! LOBSTER-related alloc routines... 595 USE sms_lobster, ONLY: sms_lobster_alloc 596 ! ...end of LOBSTER-related alloc routines 597 583 598 USE trc_oce, ONLY: trc_oce_alloc 584 599 #if defined key_trdmld || defined key_esopa … … 730 745 ierr = ierr + tra_nxt_alloc() 731 746 ierr = ierr + tra_zdf_alloc() 747 748 ! Start of TOP-related alloc routines... 732 749 #if defined key_top 750 ierr = ierr + trc_adv_alloc() 733 751 ierr = ierr + trc_alloc() 752 ierr = ierr + trc_nxt_alloc() 753 ierr = ierr + trc_zdf_alloc() 754 ierr = ierr + trd_mod_trc_oce_alloc() 734 755 #endif 735 756 #if defined key_top && ! defined key_iomput 736 757 ierr = ierr + trc_dia_alloc() 737 758 #endif 759 #if defined key_top && defined key_trcdmp 760 ierr = ierr + trc_dmp_alloc() 761 #endif 738 762 #if defined key_top && defined key_dtatrc 739 763 ierr = ierr + trc_dta_alloc() 740 764 #endif 765 ! ...end of TOP-related alloc routines 766 767 ! Start of LOBSTER-related alloc routines 768 ierr = ierr + sms_lobster_alloc() 769 ! ...end of LOBSTER-related alloc routines 770 741 771 ierr = ierr + trc_oce_alloc() 742 772 #if defined key_trdmld || defined key_esopa -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/sms_lobster.F90
r2528 r2607 76 76 REAL(wp) :: fdbod !: zooplankton mortality fraction that goes to detritus 77 77 78 REAL(wp), DIMENSION(jpk,jp_lobster) :: remdmp !: depth dependant damping coefficient of passive tracers78 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: remdmp !: depth dependant damping coefficient of passive tracers 79 79 80 80 !! Optical parameters … … 88 88 REAL(wp) :: rpig !: chla/chla+phea ratio (NAMELIST) 89 89 90 INTEGER , DIMENSION(jpi,jpj):: neln !: number of levels in the euphotic layer91 REAL(wp), DIMENSION(jpi,jpj):: xze !: euphotic layer depth92 REAL(wp), DIMENSION(jpi,jpj,jpk) :: xpar !: par (photosynthetic available radiation)90 INTEGER , ALLOCATABLE, SAVE, DIMENSION(:,:) :: neln !: number of levels in the euphotic layer 91 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xze !: euphotic layer depth 92 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xpar !: par (photosynthetic available radiation) 93 93 94 94 !! Sediment parameters … … 98 98 REAL(wp) :: areacot !: ??? 99 99 100 REAL(wp), DIMENSION(jpi,jpj):: dminl !: fraction of sinking POC released in sediments101 REAL(wp), DIMENSION(jpi,jpj,jpk) :: dmin3 !: fraction of sinking POC released at each level100 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: dminl !: fraction of sinking POC released in sediments 101 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: dmin3 !: fraction of sinking POC released at each level 102 102 103 REAL(wp), DIMENSION(jpi,jpj) :: sedpocb !: mass of POC in sediments104 REAL(wp), DIMENSION(jpi,jpj) :: sedpocn !: mass of POC in sediments105 REAL(wp), DIMENSION(jpi,jpj) :: sedpoca !: mass of POC in sediments103 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: sedpocb !: mass of POC in sediments 104 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: sedpocn !: mass of POC in sediments 105 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: sedpoca !: mass of POC in sediments 106 106 107 REAL(wp), DIMENSION(jpi,jpj) :: fbod !: rapid sinking particles 108 REAL(wp), DIMENSION(jpi,jpj) :: cmask !: ??? 107 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: fbod !: rapid sinking particles 108 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: cmask !: ??? 109 110 !!====================================================================== 111 112 CONTAINS 113 114 FUNCTION sms_lobster_alloc() 115 !!---------------------------------------------------------------------- 116 !! *** ROUTINE sms_lobster_alloc *** 117 !!---------------------------------------------------------------------- 118 USE in_out_manager, ONLY: ctl_warn 119 INTEGER :: sms_lobster_alloc 120 !!---------------------------------------------------------------------- 121 122 ALLOCATE(remdmp(jpk,jp_lobster), & 123 neln(jpi,jpj), xze(jpi,jpj), xpar(jpi,jpj,jpk), & 124 dminl(jpi,jpj), dmin3(jpi,jpj,jpk), & 125 sedpocb(jpi,jpj), sedpocn(jpi,jpj), sedpoca(jpi,jpj), & 126 fbod(jpi,jpj), cmask(jpi,jpj) , & 127 Stat=sms_lobster_alloc) 128 129 IF(sms_lobster_alloc /= 0)THEN 130 CALL ctl_warn('sms_lobster_alloc : failed to allocate arrays.') 131 END IF 132 133 END FUNCTION sms_lobster_alloc 109 134 110 135 #else … … 115 140 116 141 !!====================================================================== 142 117 143 END MODULE sms_lobster -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/prtctl_trc.F90
r2593 r2607 158 158 END DO 159 159 ! 160 IF(.NOT. wrk_release(3, 1,2))THEN 161 CALL ctl_stop('prt_ctl_trc : failed to release workspace arrays.') 162 END IF 163 ! 160 164 END SUBROUTINE prt_ctl_trc 161 165 … … 185 189 WRITE(j_id,*) clinfo 186 190 END DO 187 !188 IF(.NOT. wrk_release(3, 1,2))THEN189 CALL ctl_stop('prt_ctl_trc : failed to release workspace arrays.')190 END IF191 191 ! 192 192 END SUBROUTINE prt_ctl_trc_info -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/trc.F90
r2593 r2607 36 36 !! passive tracers fields (before,now,after) 37 37 !! -------------------------------------------------- 38 REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk) :: cvol !: volume correction -degrad option-38 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: cvol !: volume correction -degrad option- 39 39 REAL(wp), PUBLIC :: trai !: initial total tracer 40 40 REAL(wp), PUBLIC :: areatot !: total volume 41 41 42 REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) :: trn !: traceur concentration for actual time step43 REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) :: tra !: traceur concentration for next time step44 REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) :: trb !: traceur concentration for before time step42 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:,:) :: trn !: traceur concentration for actual time step 43 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:,:) :: tra !: traceur concentration for next time step 44 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:,:) :: trb !: traceur concentration for before time step 45 45 46 46 !! interpolated gradient 47 47 !!-------------------------------------------------- 48 REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jptra) :: gtru !: horizontal gradient at u-points at bottom ocean level49 REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jptra) :: gtrv !: horizontal gradient at v-points at bottom ocean level48 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: gtru !: horizontal gradient at u-points at bottom ocean level 49 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: gtrv !: horizontal gradient at v-points at bottom ocean level 50 50 51 51 !! passive tracers restart (input and output) … … 63 63 !! -------------------------------------------------- 64 64 INTEGER , PUBLIC :: nn_writetrc !: time step frequency for concentration outputs (namelist) 65 REAL(wp), PUBLIC, DIMENSION(jpk) :: rdttrc !: vertical profile of passive tracer time step65 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: rdttrc !: vertical profile of passive tracer time step 66 66 67 67 # if defined key_diatrc && ! defined key_iomput … … 76 76 CHARACTER(len=80), PUBLIC, DIMENSION (jpdia3d) :: ctrc3l !: 3d output field long name 77 77 78 REAL(wp), PUBLIC, DIMENSION (jpi,jpj, jpdia2d) :: trc2d !: additional 2d outputs79 REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jpdia3d) :: trc3d !: additional 3d outputs78 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:, :) :: trc2d !: additional 2d outputs 79 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:,:) :: trc3d !: additional 3d outputs 80 80 81 81 # endif … … 91 91 !! Biological trends 92 92 !! ----------------- 93 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk,jpdiabio) :: trbio !: biological trends93 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: trbio !: biological trends 94 94 # endif 95 95 … … 119 119 !! *** ROUTINE trc_alloc *** 120 120 !!------------------------------------------------------------------- 121 USE in_out_manager, ONLY: ctl_warn 122 ! 121 123 INTEGER :: trc_alloc 122 124 !!-------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.