- Timestamp:
- 2011-03-08T18:30:16+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90
r2636 r2674 28 28 USE in_out_manager ! I/O manager 29 29 USE lib_mpp ! MPP library 30 USE solver ! solver initialization 30 31 31 32 IMPLICIT NONE … … 204 205 ENDIF 205 206 207 IF( nspg == 2 .OR. nspg == -1 ) CALL solver_init( nit000 ) ! Elliptic solver initialisation 208 206 209 ! ! Control of timestep choice 207 210 IF( lk_dynspg_ts .OR. lk_dynspg_exp ) THEN -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r2618 r2674 31 31 USE dynadv ! advection 32 32 USE solmat ! matrix construction for elliptic solvers 33 USE solver ! solver initialization34 33 USE solpcg ! preconditionned conjugate gradient solver 35 34 USE solsor ! Successive Over-relaxation solver … … 124 123 spgu(:,:) = 0.e0 ! surface pressure gradient (i-direction) 125 124 spgv(:,:) = 0.e0 ! surface pressure gradient (j-direction) 126 CALL solver_init( nit000 ) ! Elliptic solver initialisation127 125 128 126 ! read filtered free surface arrays in restart file -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90
r2636 r2674 41 41 REAL(wp) :: r1_grau ! = 1.e0 / (grav * rau0) 42 42 43 TYPE(FLD), ALLOCATABLE, SAVE,DIMENSION(:) :: sf_apr ! structure of input fields (file informations, fields read)43 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_apr ! structure of input fields (file informations, fields read) 44 44 45 45 !! * Substitutions -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r2636 r2674 52 52 INTEGER , PARAMETER :: jp_tair = 6 ! index of 10m air temperature (Kelvin) 53 53 INTEGER , PARAMETER :: jp_prec = 7 ! index of total precipitation (rain+snow) (Kg/m2/s) 54 TYPE(FLD),ALLOCATABLE, SAVE,DIMENSION(:) :: sf ! structure of input fields (file informations, fields read)54 TYPE(FLD),ALLOCATABLE,DIMENSION(:) :: sf ! structure of input fields (file informations, fields read) 55 55 56 56 INTEGER, PARAMETER :: jpintsr = 24 ! number of time step between sunrise and sunset -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r2668 r2674 113 113 CALL nemo_init !== Initialisations ==! 114 114 ! !-----------------------! 115 115 #if defined key_agrif 116 CALL Agrif_Declare_Variables() ! AGRIF: set the meshes 117 #endif 116 118 ! check that all process are still there... If some process have an error, 117 119 ! they will never enter in step and other processes will wait until the end of the cpu time! … … 226 228 ! then we calculate them here now that we have our communicator size 227 229 IF( (jpni < 1) .OR. (jpnj < 1) )THEN 228 #if defined key_mpp_mpi || defined key_mpp_shmem229 CALL nemo_partition(mppsize)230 #if defined key_mpp_mpi 231 IF( Agrif_Root() ) CALL nemo_partition(mppsize) 230 232 #else 231 233 jpni = 1 … … 238 240 ! This used to be done in par_oce.F90 when they were parameters rather 239 241 ! than variables 240 jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci !: first dim. 241 jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj !: second dim. 242 jpk = jpkdta !: third dim 243 jpim1 = jpi-1 !: inner domain indices 244 jpjm1 = jpj-1 !: " " 245 jpkm1 = jpk-1 !: " " 246 jpij = jpi*jpj !: jpi x j 242 IF( Agrif_Root() ) THEN 243 jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci !: first dim. 244 jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj !: second dim. 245 jpk = jpkdta !: third dim 246 jpim1 = jpi-1 !: inner domain indices 247 jpjm1 = jpj-1 !: " " 248 jpkm1 = jpk-1 !: " " 249 jpij = jpi*jpj !: jpi x j 250 ENDIF 247 251 248 252 IF(lwp) THEN ! open listing units -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/par_oce.F90
r2658 r2674 17 17 !!---------------------------------------------------------------------- 18 18 !! if we dont use massively parallel computer (parameters jpni=jpnj=1) so jpiglo=jpi and jpjglo=jpj 19 !!$#if ! defined key_mpp_dyndist20 !!$ INTEGER, PUBLIC, PARAMETER :: & !:21 !!$# if ! defined key_nproci22 !!$ jpni = 1, & !: number of processors following i23 !!$ jpnj = 1, & !: number of processors following j24 !!$ jpnij = 1 !: nb of local domain = nb of processors25 !!$ ! ! ( <= jpni x jpnj )26 !!$# else27 !!$ jpni = key_nproci, & !: number of processors following i28 !!$ jpnj = key_nprocj, & !: number of processors following j29 !!$# if ! defined key_nprocij30 !!$ jpnij = key_nproci * key_nprocj !: nb of local domain = nb of processors31 !!$ ! ! ( <= jpni x jpnj )32 !!$# else33 !!$ jpnij = key_nprocij !: nb of local domain = nb of processors34 !!$ ! ! ( <= jpni x jpnj )35 !!$# endif36 !!$# endif37 !!$#else38 19 INTEGER, PUBLIC :: jpni !: number of processors following i 39 20 INTEGER, PUBLIC :: jpnj !: number of processors following j 40 21 INTEGER, PUBLIC :: jpnij !: nb of local domain = nb of processors ( <= jpni x jpnj ) 41 !!$#endif42 22 INTEGER, PUBLIC, PARAMETER :: jpr2di = 0 !: number of columns for extra outer halo 43 23 INTEGER, PUBLIC, PARAMETER :: jpr2dj = 0 !: number of rows for extra outer halo … … 188 168 INTEGER, PUBLIC :: nbcellsy = jpjglo - 2 - 2*nbghostcells !: number of cells in j-direction 189 169 ! 190 INTEGER, PUBLIC :: jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci !: first dimension191 INTEGER, PUBLIC :: jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj !: second dimension192 INTEGER, PUBLIC :: jpim1 = jpi-1 !: inner domain indices193 INTEGER, PUBLIC :: jpjm1 = jpj-1 !: - - -194 INTEGER, PUBLIC :: jpkm1 = jpk-1 !: - - -195 INTEGER, PUBLIC :: jpij = jpi*jpj !: jpi x jpj196 170 #else 197 171 INTEGER, PUBLIC :: jpi ! = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci !: first dimension -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo.F90
r2662 r2674 44 44 ! Maximum no. of workspaces of any one dimensionality that can be 45 45 ! requested - MAX(num_1d_wrkspaces, num_2d_wrkspaces, num_3d_wrkspaces, num_4d_wrkspaces) 46 INTEGER , PARAMETER:: max_num_wrkspaces = 3546 INTEGER :: max_num_wrkspaces = 35 47 47 48 48 ! If adding more arrays here, remember to increment the appropriate
Note: See TracChangeset
for help on using the changeset viewer.