Changeset 2496
- Timestamp:
- 2010-12-20T16:28:20+01:00 (14 years ago)
- Location:
- branches/nemo_v3_3_beta/NEMOGCM/NEMO
- Files:
-
- 2 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/NEMOGCM/NEMO/NST_SRC/agrif_user.F90
r2287 r2496 66 66 USE oce 67 67 USE dom_oce 68 USE opa68 USE nemogcm 69 69 #if defined key_top 70 70 USE trc … … 111 111 #endif 112 112 113 Call opa_init ! Initializations of each fine grid114 Call agrif_ opa_init113 Call nemo_init ! Initializations of each fine grid 114 Call agrif_nemo_init 115 115 116 116 ! 1. Declaration of the type of variable which have to be interpolated … … 339 339 USE oce 340 340 USE dom_oce 341 USE opa341 USE nemogcm 342 342 USE trc 343 343 USE in_out_manager … … 359 359 #endif 360 360 361 Call opa_init ! Initializations of each fine grid362 Call agrif_ opa_init361 Call nemo_init ! Initializations of each fine grid 362 Call agrif_nemo_init 363 363 364 364 ! 1. Declaration of the type of variable which have to be interpolated … … 473 473 474 474 475 SUBROUTINE agrif_ opa_init475 SUBROUTINE agrif_nemo_init 476 476 !!---------------------------------------------------------------------- 477 477 !! *** ROUTINE agrif_init *** … … 484 484 NAMELIST/namagrif/ nn_cln_update, rn_sponge_tra, rn_sponge_dyn, ln_spc_dyn 485 485 !!---------------------------------------------------------------------- 486 486 ! 487 487 REWIND( numnam ) ! Read namagrif namelist 488 488 READ ( numnam, namagrif ) … … 490 490 IF(lwp) THEN ! control print 491 491 WRITE(numout,*) 492 WRITE(numout,*) 'agrif_ opa_init : AGRIF parameters'493 WRITE(numout,*) '~~~~~~~~~~~~ '492 WRITE(numout,*) 'agrif_nemo_init : AGRIF parameters' 493 WRITE(numout,*) '~~~~~~~~~~~~~~~' 494 494 WRITE(numout,*) ' Namelist namagrif : set AGRIF parameters' 495 495 WRITE(numout,*) ' baroclinic update frequency nn_cln_update = ', nn_cln_update … … 505 505 visc_dyn = rn_sponge_dyn 506 506 ! 507 END SUBROUTINE agrif_ opa_init507 END SUBROUTINE agrif_nemo_init 508 508 509 509 # if defined key_mpp_mpi … … 520 520 !!---------------------------------------------------------------------- 521 521 ! 522 SELECT CASE(i) 523 CASE(1) 524 indglob = indloc + nimppt(nprocloc+1) - 1 525 CASE(2) 526 indglob = indloc + njmppt(nprocloc+1) - 1 527 CASE(3) 528 indglob = indloc 529 CASE(4) 530 indglob = indloc 522 SELECT CASE( i ) 523 CASE(1) ; indglob = indloc + nimppt(nprocloc+1) - 1 524 CASE(2) ; indglob = indloc + njmppt(nprocloc+1) - 1 525 CASE(3) ; indglob = indloc 526 CASE(4) ; indglob = indloc 531 527 END SELECT 532 528 ! -
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/nemo.f90
r2482 r2496 1 PROGRAM model 1 PROGRAM nemo 2 !!====================================================================== 3 !! *** PROGRAM nemo *** 4 !! 5 !! ** Purpose : encapsulate nemo_gcm so that it can also be called 6 !! together with the linear tangent and adjoint models 7 !!====================================================================== 8 !! History : OPA ! 2001-02 (M. Imbard, A. Weaver) Original code 9 !! NEMO 1.0 ! 2003-10 (G. Madec) F90 2 10 !!---------------------------------------------------------------------- 3 !! *** PROGRAM model *** 4 !! 5 !! ** Purpose : encapsulate the opa model so that opa can also be 6 !! called together with the adjoint and linear tangent models 7 !! 8 !! History : 9 !! 8.0 ! 01-02 (M. Imbard, A. Weaver) Original code 10 !! 9.0 ! 03-10 (G. Madec) F90 11 !!---------------------------------------------------------------------- 12 USE opa ! OPA system (opa_model routine) 11 USE nemogcm ! NEMO system (nemo_gcm routine) 13 12 !!---------------------------------------------------------------------- 14 13 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 15 14 !! $Id$ 16 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)15 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 17 16 !!---------------------------------------------------------------------- 18 19 CALL opa_model ! OPA system 20 21 END PROGRAM model 17 ! 18 CALL nemo_gcm ! NEMO direct code 19 ! 20 !!====================================================================== 21 END PROGRAM nemo -
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r2482 r2496 1 MODULE opa1 MODULE nemogcm 2 2 !!====================================================================== 3 !! *** MODULE opa***4 !! Ocean system : OPA ocean dynamics (including on-line tracersand sea-ice)3 !! *** MODULE nemogcm *** 4 !! Ocean system : NEMO GCM (ocean dynamics, on-line tracers, biochemistry and sea-ice) 5 5 !!====================================================================== 6 6 !! History : OPA ! 1990-10 (C. Levy, G. Madec) Original code … … 30 30 31 31 !!---------------------------------------------------------------------- 32 !! opa_model : solve ocean dynamics, tracerand/or sea-ice33 !! opa_init : initialization of the opa model34 !! opa_ctl : initialisation of algorithm flag35 !! opa_closefile : close remainingfiles32 !! nemo_gcm : solve ocean dynamics, tracer, biogeochemistry and/or sea-ice 33 !! nemo_init : initialization of the NEMO system 34 !! nemo_ctl : initialisation of the contol print 35 !! nemo_closefile : close remaining open files 36 36 !!---------------------------------------------------------------------- 37 38 37 USE step_oce ! module used in the ocean time stepping module 39 38 USE sbc_oce ! surface boundary condition: ocean … … 55 54 USE diaptr ! poleward transports (dia_ptr_init routine) 56 55 USE diaobs ! Observation diagnostics (dia_obs_init routine) 57 USE step ! OPA time-stepping(stp routine)56 USE step ! NEMO time-stepping (stp routine) 58 57 #if defined key_oasis3 59 58 USE cpl_oasis3 ! OASIS3 coupling … … 73 72 PRIVATE 74 73 75 PUBLIC opa_model! called by model.F9076 PUBLIC opa_init! needed by AGRIF74 PUBLIC nemo_gcm ! called by model.F90 75 PUBLIC nemo_init ! needed by AGRIF 77 76 78 77 CHARACTER (len=64) :: cform_aaa="( /, 'AAAAAAAA', / ) " ! flag for output listing … … 85 84 CONTAINS 86 85 87 SUBROUTINE opa_model88 !!---------------------------------------------------------------------- 89 !! *** ROUTINE opa***90 !! 91 !! ** Purpose : opasolves the primitive equations on an orthogonal86 SUBROUTINE nemo_gcm 87 !!---------------------------------------------------------------------- 88 !! *** ROUTINE nemo_gcm *** 89 !! 90 !! ** Purpose : NEMO solves the primitive equations on an orthogonal 92 91 !! curvilinear mesh on the sphere. 93 92 !! … … 107 106 108 107 ! !-----------------------! 109 CALL opa_init!== Initialisations ==!108 CALL nemo_init !== Initialisations ==! 110 109 ! !-----------------------! 111 110 … … 162 161 ENDIF 163 162 ! 164 CALL opa_closefile163 CALL nemo_closefile 165 164 #if defined key_oasis3 || defined key_oasis4 166 165 CALL cpl_prism_finalize ! end coupling and mpp communications with OASIS … … 169 168 #endif 170 169 ! 171 END SUBROUTINE opa_model 172 173 174 SUBROUTINE opa_init 175 !!---------------------------------------------------------------------- 176 !! *** ROUTINE opa_init *** 177 !! 178 !! ** Purpose : initialization of the opa model 179 !! 180 !!---------------------------------------------------------------------- 181 INTEGER :: ji ! dummy loop indices 170 END SUBROUTINE nemo_gcm 171 172 173 SUBROUTINE nemo_init 174 !!---------------------------------------------------------------------- 175 !! *** ROUTINE nemo_init *** 176 !! 177 !! ** Purpose : initialization of the NEMO GCM 178 !!---------------------------------------------------------------------- 179 INTEGER :: ji ! dummy loop indices 182 180 INTEGER :: ilocal_comm ! local integer 183 CHARACTER(len=80), DIMENSION(10) :: cltxt = ''181 CHARACTER(len=80), DIMENSION(10) :: cltxt 184 182 !! 185 183 NAMELIST/namctl/ ln_ctl , nn_print, nn_ictls, nn_ictle, & 186 184 & nn_isplt, nn_jsplt, nn_jctls, nn_jctle, nn_bench 187 185 !!---------------------------------------------------------------------- 186 ! 187 cltxt = '' 188 188 ! 189 189 ! ! open Namelist file … … 235 235 ! 236 236 ENDIF 237 ! !------------------------------- -!238 ! ! Modelgeneral initialization !239 ! !------------------------------- -!240 241 CALL opa_ctl! Control prints & Benchmark237 ! !-------------------------------! 238 ! ! NEMO general initialization ! 239 ! !-------------------------------! 240 241 CALL nemo_ctl ! Control prints & Benchmark 242 242 243 243 ! ! Domain decomposition … … 315 315 IF(lwp) WRITE(numout,*) 'Euler time step switch is ', neuler 316 316 ! 317 END SUBROUTINE opa_init318 319 320 SUBROUTINE opa_ctl321 !!---------------------------------------------------------------------- 322 !! *** ROUTINE opa_ctl ***317 END SUBROUTINE nemo_init 318 319 320 SUBROUTINE nemo_ctl 321 !!---------------------------------------------------------------------- 322 !! *** ROUTINE nemo_ctl *** 323 323 !! 324 324 !! ** Purpose : control print setting … … 327 327 !!---------------------------------------------------------------------- 328 328 ! 329 IF(lwp) THEN ! Parameterprint329 IF(lwp) THEN ! control print 330 330 WRITE(numout,*) 331 WRITE(numout,*) ' opa_ctl: Control prints & Benchmark'331 WRITE(numout,*) 'nemo_ctl: Control prints & Benchmark' 332 332 WRITE(numout,*) '~~~~~~~ ' 333 333 WRITE(numout,*) ' Namelist namctl' … … 355 355 IF( ln_ctl ) THEN ! sub-domain area indices for the control prints 356 356 IF( lk_mpp ) THEN 357 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split teddomain357 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain 358 358 ELSE 359 359 IF( isplt == 1 .AND. jsplt == 1 ) THEN … … 398 398 ENDIF 399 399 ! 400 IF( lk_c1d .AND. .NOT.lk_iomput ) CALL ctl_stop( ' opa_ctl: The 1D configuration must be used ', &401 & 'with the IOM Input/Output manager. ' , &400 IF( lk_c1d .AND. .NOT.lk_iomput ) CALL ctl_stop( 'nemo_ctl: The 1D configuration must be used ', & 401 & 'with the IOM Input/Output manager. ' , & 402 402 & 'Compile with key_iomput enabled' ) 403 403 ! 404 END SUBROUTINE opa_ctl405 406 407 SUBROUTINE opa_closefile408 !!---------------------------------------------------------------------- 409 !! *** ROUTINE opa_closefile ***404 END SUBROUTINE nemo_ctl 405 406 407 SUBROUTINE nemo_closefile 408 !!---------------------------------------------------------------------- 409 !! *** ROUTINE nemo_closefile *** 410 410 !! 411 411 !! ** Purpose : Close the files … … 425 425 numout = 6 ! redefine numout in case it is used after this point... 426 426 ! 427 END SUBROUTINE opa_closefile427 END SUBROUTINE nemo_closefile 428 428 429 429 !!====================================================================== 430 END MODULE opa430 END MODULE nemogcm -
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/step.F90
r2474 r2496 195 195 196 196 IF( ln_dynhpg_imp ) THEN ! semi-implicit hpg (time stepping then eos) 197 IF( ln_zdfnpc ) CALL tra_npc ( kstp )! update after fields by non-penetrative convection198 CALL tra_nxt ( kstp )! tracer fields at next time step199 CALL eos ( tsa, rhd, rhop )! Time-filtered in situ density for hpg computation197 IF( ln_zdfnpc ) CALL tra_npc( kstp ) ! update after fields by non-penetrative convection 198 CALL tra_nxt( kstp ) ! tracer fields at next time step 199 CALL eos ( tsa, rhd, rhop ) ! Time-filtered in situ density for hpg computation 200 200 IF( ln_zps ) CALL zps_hde( kstp, jpts, tsa, gtsu, gtsv, & ! zps: time filtered hor. derivative 201 201 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 202 202 203 203 ELSE ! centered hpg (eos then time stepping) 204 CALL eos ( tsn, rhd, rhop )! now in situ density for hpg computation204 CALL eos ( tsn, rhd, rhop ) ! now in situ density for hpg computation 205 205 IF( ln_zps ) CALL zps_hde( kstp, jpts, tsn, gtsu, gtsv, & ! zps: now hor. derivative 206 206 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 207 IF( ln_zdfnpc ) CALL tra_npc ( kstp )! update after fields by non-penetrative convection208 CALL tra_nxt ( kstp )! tracer fields at next time step207 IF( ln_zdfnpc ) CALL tra_npc( kstp ) ! update after fields by non-penetrative convection 208 CALL tra_nxt( kstp ) ! tracer fields at next time step 209 209 ENDIF 210 210 CALL tra_unswap ! udate T & S 3D arrays (to be suppressed)
Note: See TracChangeset
for help on using the changeset viewer.