- Timestamp:
- 2015-02-11T11:50:34+01:00 (9 years ago)
- Location:
- branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/domain.F90
r4811 r5075 337 337 INTEGER :: ios 338 338 !! 339 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco 339 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco, ln_isfcav 340 340 !!---------------------------------------------------------------------- 341 341 … … 354 354 WRITE(numout,*) '~~~~~~~' 355 355 WRITE(numout,*) ' Namelist namzgr : set vertical coordinate' 356 WRITE(numout,*) ' z-coordinate - full steps ln_zco = ', ln_zco 357 WRITE(numout,*) ' z-coordinate - partial steps ln_zps = ', ln_zps 358 WRITE(numout,*) ' s- or hybrid z-s-coordinate ln_sco = ', ln_sco 356 WRITE(numout,*) ' z-coordinate - full steps ln_zco = ', ln_zco 357 WRITE(numout,*) ' z-coordinate - partial steps ln_zps = ', ln_zps 358 WRITE(numout,*) ' s- or hybrid z-s-coordinate ln_sco = ', ln_sco 359 WRITE(numout,*) ' ice shelf cavity ln_isfcav = ', ln_isfcav 359 360 ENDIF 360 361 … … 363 364 IF( ln_zps ) ioptio = ioptio + 1 364 365 IF( ln_sco ) ioptio = ioptio + 1 365 IF ( ioptio /= 1 ) CALL ctl_stop( ' none or several vertical coordinate options used' ) 366 IF( ln_isfcav ) ioptio = 33 367 IF ( ioptio /= 1 ) CALL ctl_stop( ' none or several vertical coordinate options used' ) 368 IF ( ioptio == 33 ) CALL ctl_stop( ' isf cavity with off line module not yet done ' ) 366 369 367 370 END SUBROUTINE dom_zgr -
branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/dommsk.F90
r3294 r5075 58 58 ! Interior domain mask (used for global sum) 59 59 ! -------------------- 60 ssmask(:,:) = tmask(:,:,1) 60 61 tmask_i(:,:) = tmask(:,:,1) 61 62 iif = jpreci ! thickness of exchange halos in i-axis -
branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/domrea.F90
r4569 r5075 164 164 165 165 CALL iom_get( inum4, jpdom_data, 'mbathy', zmbk ) ! number of ocean t-points 166 mbathy(:,:) = INT( zmbk(:,:) ) 166 mbathy (:,:) = INT( zmbk(:,:) ) 167 misfdep(:,:) = 1 ! ice shelf case not yet done 167 168 168 169 CALL zgr_bot_level ! mbk. arrays (deepest ocean t-, u- & v-points … … 371 372 ! 372 373 mbkt(:,:) = MAX( mbathy(:,:) , 1 ) ! bottom k-index of T-level (=1 over land) 374 mikt(:,:) = 1 ; miku(:,:) = 1; mikv(:,:) = 1; ! top k-index of T-level (=1 over open ocean; >1 beneath ice shelf) 373 375 ! ! bottom k-index of W-level = mbkt+1 374 376 DO jj = 1, jpjm1 ! bottom k-index of u- (v-) level -
branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90
r4624 r5075 535 535 !!--------------------------------------------------------------------- 536 536 #if defined key_ldfslp && ! defined key_c1d 537 CALL eos( pts, rhd, rhop, gdept_0(:,:,:) ) ! Time-filtered in situ density 538 CALL bn2( pts, rn2 ) ! before Brunt-Vaisala frequency 539 IF( ln_zps ) & 540 & CALL zps_hde( kt, jpts, pts, gtsu, gtsv, rhd, gru, grv ) ! Partial steps: before Horizontal DErivative 537 CALL eos_rab( pts, rab_n ) ! now local thermal/haline expension ratio at T-points 538 CALL bn2 ( pts, rab_n, rn2 ) ! now Brunt-Vaisala 539 IF( ln_zps ) & ! Partial steps: before Horizontal DErivative 540 & CALL zps_hde( kt, jpts, pts, gtsu, gtsv, & ! Partial steps: before horizontal gradient 541 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & ! 542 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the last ocean level 543 ! only gtsu, gtsv, rhd, gru , grv are used 544 545 541 546 ! ! of t, s, rd at the bottom ocean level 542 547 CALL zdf_mxl( kt ) ! mixed layer depth -
branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/istate.F90
r4569 r5075 12 12 USE oce ! ocean dynamics and active tracers 13 13 USE dom_oce ! ocean space and time domain 14 USE daymod ! calendar15 14 16 15 IMPLICIT NONE … … 47 46 rn2 (:,:,:) = 0.e0 48 47 ! 49 CALL day_init ! model calendar (using both namelist and restart infos)50 51 48 END SUBROUTINE istate_init 52 49 -
branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90
r4640 r5075 46 46 USE timing ! Timing 47 47 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 48 USE lbcnfd, ONLY: isendto, nsndto 48 USE lbcnfd, ONLY: isendto, nsndto, nfsloop, nfeloop ! Setup of north fold exchanges 49 49 50 50 USE trc 51 51 USE trcnam 52 52 USE trcrst 53 USE diaptr ! Need to initialise this as some variables are used in if statements later 53 54 54 55 IMPLICIT NONE … … 298 299 ! ! Passive tracers 299 300 CALL trc_init ! Passive tracers initialization 300 301 ! 302 ! Initialise diaptr as some variables are used in if statements later (in 303 ! various advection and diffusion routines. 304 CALL dia_ptr_init 305 ! 301 306 IF(lwp) WRITE(numout,cform_aaa) ! Flag AAAAAAA 302 307 ! … … 589 594 !!---------------------------------------------------------------------- 590 595 !! 1.0 ! 2011-10 (A. C. Coward, NOCS & J. Donners, PRACE) 591 !! 2.0 ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. Mocavero, CMCC) 596 !! 2.0 ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. 597 !Mocavero, CMCC) 592 598 !!---------------------------------------------------------------------- 593 599 … … 612 618 !loop over the other north-fold processes to find the processes 613 619 !managing the points belonging to the sxT-dxT range 614 DO jn = jpnij - jpni +1, jpnij 615 IF ( njmppt(jn) == njmppmax ) THEN620 621 DO jn = 1, jpni 616 622 !sxT is the first point (in the global domain) of the jn 617 623 !process 618 sxT = n imppt(jn)624 sxT = nfiimpp(jn, jpnj) 619 625 !dxT is the last point (in the global domain) of the jn 620 626 !process 621 dxT = n imppt(jn) + nlcit(jn) - 1627 dxT = nfiimpp(jn, jpnj) + nfilcit(jn, jpnj) - 1 622 628 IF ((sxM .gt. sxT) .AND. (sxM .lt. dxT)) THEN 623 629 nsndto = nsndto + 1 624 isendto(nsndto) = jn625 ELSEIF ((sxM .le. sxT) .AND. (dxM .g t. dxT)) THEN630 isendto(nsndto) = jn 631 ELSEIF ((sxM .le. sxT) .AND. (dxM .ge. dxT)) THEN 626 632 nsndto = nsndto + 1 627 isendto(nsndto) = jn633 isendto(nsndto) = jn 628 634 ELSEIF ((dxM .lt. dxT) .AND. (sxT .lt. dxM)) THEN 629 635 nsndto = nsndto + 1 630 isendto(nsndto) = jn636 isendto(nsndto) = jn 631 637 END IF 632 END IF633 638 END DO 639 nfsloop = 1 640 nfeloop = nlci 641 DO jn = 2,jpni-1 642 IF(nfipproc(jn,jpnj) .eq. (narea - 1)) THEN 643 IF (nfipproc(jn - 1 ,jpnj) .eq. -1) THEN 644 nfsloop = nldi 645 ENDIF 646 IF (nfipproc(jn + 1,jpnj) .eq. -1) THEN 647 nfeloop = nlei 648 ENDIF 649 ENDIF 650 END DO 651 634 652 ENDIF 635 653 l_north_nogather = .TRUE. 636 637 654 END SUBROUTINE nemo_northcomms 638 655 #else
Note: See TracChangeset
for help on using the changeset viewer.