- Timestamp:
- 2012-05-04T09:26:12+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3337_NOCS10_ICB/NEMOGCM/NEMO/OPA_SRC/ICB/icb_oce.F90
r3371 r3381 48 48 49 49 TYPE, PUBLIC :: icebergs_gridded !: various icebergs properties on model grid 50 REAL(wp), DIMENSION(:,:) , POINTER :: calving => NULL()! Calving mass rate (into stored ice) [kg/s]51 REAL(wp), DIMENSION(:,:) , POINTER :: calving_hflx => NULL()! Calving heat flux [heat content of calving] [W/m2]52 REAL(wp), DIMENSION(:,:) , POINTER :: floating_melt => NULL()! Net melting rate to icebergs + bits [kg/s/m^2]53 INTEGER , DIMENSION(:,:) , POINTER :: maxclass => NULL()! maximum class number at calving source point54 REAL(wp), DIMENSION(:,:) , POINTER :: tmp => NULL()! Temporary work space55 REAL(wp), DIMENSION(:,:,:), POINTER :: stored_ice => NULL()! Accumulated ice mass flux at calving locations [kg]56 REAL(wp), DIMENSION(:,:) , POINTER :: stored_heat => NULL()! Heat content of stored ice [J]50 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: calving ! Calving mass rate (into stored ice) [kg/s] 51 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: calving_hflx ! Calving heat flux [heat content of calving] [W/m2] 52 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: floating_melt ! Net melting rate to icebergs + bits [kg/s/m^2] 53 INTEGER , DIMENSION(:,:) , ALLOCATABLE :: maxclass ! maximum class number at calving source point 54 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: tmp ! Temporary work space 55 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: stored_ice ! Accumulated ice mass flux at calving locations [kg] 56 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: stored_heat ! Heat content of stored ice [J] 57 57 END TYPE icebergs_gridded 58 58 … … 79 79 80 80 ! !!! parameters controlling iceberg characteristics and modelling 81 REAL(wp) :: berg_dt !: Time-step between iceberg CALLs (should make adaptive?)82 INTEGER :: current_year !:83 REAL(wp) :: current_yearday !: 1.00-365.9984 REAL(wp), DIMENSION(:), POINTER:: first_width, first_length !:85 LOGICAL :: l_restarted_bergs=.FALSE. ! Indicate whether we read state from a restart or not81 REAL(wp) :: berg_dt !: Time-step between iceberg CALLs (should make adaptive?) 82 INTEGER :: current_year !: 83 REAL(wp) :: current_yearday !: 1.00-365.99 84 REAL(wp), DIMENSION(:), ALLOCATABLE :: first_width, first_length !: 85 LOGICAL :: l_restarted_bergs=.FALSE. ! Indicate whether we read state from a restart or not 86 86 ! ! arbitrary numbers for diawri entry 87 87 REAL(wp), DIMENSION(nclasses), PUBLIC :: class_num=(/ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 /) … … 140 140 141 141 ! Single instance of an icebergs type initialised in icebergs_init and updated in icebergs_run 142 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: src_calving, src_calving_hflx !: ??? 143 INTEGER , PUBLIC , SAVE :: numicb !: ??? 144 INTEGER , PUBLIC , SAVE, DIMENSION(nkounts) :: num_bergs !: ??? 145 INTEGER , PUBLIC , SAVE :: nicbdi, nicbei, nicbdj, nicbej !: ??? 146 REAL(wp), PUBLIC , SAVE :: ricb_left, ricb_right !: ??? 147 INTEGER , PUBLIC , SAVE :: nicbpack !: ??? 148 INTEGER , PUBLIC , SAVE :: nktberg, nknberg !: ??? 149 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nicbfldpts !: ??? 150 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nicbflddest !: ??? 151 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nicbfldproc !: ??? 152 153 TYPE(FLD), ALLOCATABLE, PUBLIC , DIMENSION(:) :: sf_icb !: structure: file information, fields read 142 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: src_calving, src_calving_hflx !: accumulate input ice 143 INTEGER , PUBLIC , SAVE :: numicb !: iceberg IO 144 INTEGER , PUBLIC , SAVE, DIMENSION(nkounts) :: num_bergs !: iceberg counter 145 INTEGER , PUBLIC , SAVE :: nicbdi, nicbei, nicbdj, nicbej !: processor bounds 146 REAL(wp), PUBLIC , SAVE :: ricb_left, ricb_right !: cyclical bounds 147 INTEGER , PUBLIC , SAVE :: nicbpack !: packing integer 148 INTEGER , PUBLIC , SAVE :: nktberg, nknberg !: helpers 149 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nicbfldpts !: nfold packed points 150 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nicbflddest !: nfold destination proc 151 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nicbfldproc !: nfold destination proc 152 153 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: griddata !: work array for icbrst 154 155 TYPE(FLD), PUBLIC, ALLOCATABLE , DIMENSION(:) :: sf_icb !: structure: file information, fields read 154 156 155 157 !!---------------------------------------------------------------------- … … 191 193 icb_alloc = icb_alloc + ill 192 194 195 ALLOCATE( griddata(jpi,jpj,1), STAT=ill ) 196 icb_alloc = icb_alloc + ill 197 193 198 IF( lk_mpp ) CALL mpp_sum ( icb_alloc ) 194 199 IF( icb_alloc > 0 ) CALL ctl_warn('icb_alloc: allocation of arrays failed')
Note: See TracChangeset
for help on using the changeset viewer.