Changeset 6861
- Timestamp:
- 2016-08-09T17:55:10+02:00 (8 years ago)
- Location:
- branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/CONFIG/SHARED/namelist_ref
r6763 r6861 386 386 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 387 387 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 388 l_sasread = .TRUE. ! Read fields in a file if .TRUE. , or initlise to 0. in sbcssm.F90 if .FALSE. 388 389 sn_usp = 'sas_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' , '' 389 390 sn_vsp = 'sas_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' , '' -
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/DOM/domcfg.F90
r4667 r6861 56 56 IF( jperio == 5 ) WRITE(numout,*) ' jperio= 5, north fold with F-point pivot' 57 57 IF( jperio == 6 ) WRITE(numout,*) ' jperio= 6, cyclic east-west and north fold with F-point pivot' 58 ENDIF 59 ! 60 IF( jperio < 0 .OR. jperio > 6 ) CALL ctl_stop( 'jperio is out of range' ) 58 IF( jperio == 7 ) WRITE(numout,*) ' jperio= 7, cyclic east-west and north-south' 59 ENDIF 60 ! 61 IF( jperio < 0 .OR. jperio > 7 ) CALL ctl_stop( 'jperio is out of range' ) 61 62 ! 62 63 CALL dom_glo ! global domain versus zoom and/or local domain -
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r6204 r6861 466 466 idta( 1 , : ) = 0 ; zdta( 1 , : ) = 0._wp 467 467 idta(jpidta, : ) = 0 ; zdta(jpidta, : ) = 0._wp 468 ELSEIF( jperio == 7 ) THEN 469 ! Nothing to do here 468 470 ELSE 469 471 ih = 0 ; zh = 0._wp … … 730 732 IF( lk_mpp ) THEN 731 733 IF( nbondi == -1 .OR. nbondi == 2 ) THEN 732 IF( jperio /= 1 ) mbathy(1,:) = 0734 IF( jperio /= 1 .AND. jperio /= 7 ) mbathy(1,:) = 0 733 735 ENDIF 734 736 IF( nbondi == 1 .OR. nbondi == 2 ) THEN 735 IF( jperio /= 1 ) mbathy(nlci,:) = 0737 IF( jperio /= 1 .AND. jperio /= 7 ) mbathy(nlci,:) = 0 736 738 ENDIF 737 739 ELSE … … 748 750 mbathy( 1 ,:) = mbathy(jpim1,:) 749 751 mbathy(jpi,:) = mbathy( 2 ,:) 752 IF (jperio == 7) THEN 753 IF(lwp) WRITE(numout,*)' north south boundary conditions on mbathy: jperio = ', jperio 754 mbathy( : ,1) = mbathy(:, jpjm1) 755 mbathy(:, jpj)= mbathy(:,2) 756 ENDIF 750 757 ELSEIF( nperio == 2 ) THEN 751 758 IF(lwp) WRITE(numout,*) ' equatorial boundary conditions on mbathy: nperio = ', nperio … … 779 786 ENDIF 780 787 781 IF( lwp .AND. nprint == 1 ) THEN ! control print 788 !! IF( lwp .AND. nprint == 1 ) THEN ! control print 789 IF( lwp ) THEN 782 790 WRITE(numout,*) 783 791 WRITE(numout,*) ' bathymetric field : number of non-zero T-levels ' -
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r6476 r6861 405 405 ptab(nlci-jpreci+1:jpi ,:,:) = zland ! north 406 406 ENDIF 407 ! ! North-South boundaries (always closed) 408 IF( .NOT. cd_type == 'F' ) ptab(:, 1 :jprecj,:) = zland ! south except F-point 409 ptab(:,nlcj-jprecj+1:jpj ,:) = zland ! north 407 ! North-south cyclic 408 IF ( nbondj == 2 .AND. jperio == 7 ) THEN !* cyclic north south only with no mpp split in latitude 409 ptab(:,1 , :) = ptab(:, jpjm1,:) 410 ptab(:,jpj,:) = ptab(:, 2,:) 411 ELSE ! ! North-South boundaries (closed) 412 IF( .NOT. cd_type == 'F' ) ptab(:, 1 :jprecj,:) = zland ! south except F-point 413 ptab(:,nlcj-jprecj+1:jpj ,:) = zland ! north 414 ENDIF 410 415 ! 411 416 ENDIF … … 614 619 pt2d_array(ii)%pt2d(nlci-jpreci+1 : jpi ,:) = zland ! north 615 620 ENDIF 616 ! ! North-South boundaries (always closed) 621 ! Noth-South boundaries 622 IF ( nbondj == 2 .AND. jperio == 7 ) THEN !* cyclic north south 623 pt2d_array(ii)%pt2d(:, 1 ) = pt2d_array(ii)%pt2d(:, jpjm1 ) 624 pt2d_array(ii)%pt2d(:, jpj ) = pt2d_array(ii)%pt2d(:, 2 ) 625 ELSE ! 626 ! ! North-South boundaries (closed) 617 627 IF( .NOT. type_array(ii) == 'F' ) pt2d_array(ii)%pt2d(:, 1:jprecj ) = zland ! south except F-point 618 628 pt2d_array(ii)%pt2d(:, nlcj-jprecj+1:jpj ) = zland ! north 619 629 ! 620 ENDIF 630 ENDIF 631 ENDIF 621 632 END DO 622 633 … … 896 907 pt2d(nlci-jpreci+1:jpi ,:) = zland ! north 897 908 ENDIF 898 ! ! North-South boundaries (always closed) 909 ! North-South boudaries 910 IF ( nbondj == 2 .AND. jperio == 7 ) THEN !* cyclic north south 911 pt2d(:, 1 ) = pt2d(:,jpjm1) 912 pt2d(:, jpj) = pt2d(:, 2) 913 ELSE 914 ! ! North-South boundaries (closed) 899 915 IF( .NOT. cd_type == 'F' ) pt2d(:, 1 :jprecj) = zland !south except F-point 900 916 pt2d(:,nlcj-jprecj+1:jpj ) = zland ! north 901 !917 ENDIF 902 918 ENDIF 903 919 … … 1081 1097 ptab2(nlci-jpreci+1:jpi ,:,:) = 0.e0 1082 1098 ENDIF 1083 1084 1085 ! ! North-South boundaries 1099 ! North-South boundaries 1100 IF ( nbondj == 2 .AND. jperio == 7 ) THEN !* cyclic north south 1101 ptab1(:, 1 ,:) = ptab1(: , jpjm1 , :) 1102 ptab1(:, jpj ,:) = ptab1(: , 2 , :) 1103 ptab2(:, 1 ,:) = ptab2(: , jpjm1 , :) 1104 ptab2(:, jpj ,:) = ptab2(: , 2 , :) 1105 ELSE 1106 ! ! North-South boundaries closed 1086 1107 IF( .NOT. cd_type1 == 'F' ) ptab1(:, 1 :jprecj,:) = 0.e0 ! south except at F-point 1087 1108 IF( .NOT. cd_type2 == 'F' ) ptab2(:, 1 :jprecj,:) = 0.e0 1088 1109 ptab1(:,nlcj-jprecj+1:jpj ,:) = 0.e0 ! north 1089 1110 ptab2(:,nlcj-jprecj+1:jpj ,:) = 0.e0 1090 1111 ENDIF 1091 1112 1092 1113 ! 2. East and west directions exchange … … 1277 1298 ! Order matters Here !!!! 1278 1299 ! 1279 ! !* North-South boundaries (always colsed) 1300 ! North-South cyclic 1301 IF ( nbondj == 2 .AND. jperio == 7 ) THEN !* cyclic north south 1302 pt2d(: , 1-jprj : 1 ) = pt2d ( :, jpjm1-jprj:jpjm1) 1303 pt2d(:, jpj :jpj+jprj) = pt2d ( :, 2 :2+jprj) 1304 ELSE 1305 1306 ! !* North-South boundaries (closed) 1280 1307 IF( .NOT. cd_type == 'F' ) pt2d(:, 1-jprj : jprecj ) = 0.e0 ! south except at F-point 1281 1308 pt2d(:,nlcj-jprecj+1:jpj+jprj) = 0.e0 ! north 1282 1309 ENDIF 1310 1283 1311 ! ! East-West boundaries 1284 1312 ! !* Cyclic east-west -
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90
r6413 r6861 79 79 & 'the domain is lay out for distributed memory computing! ' ) 80 80 81 IF( jperio == 7 ) CALL ctl_stop( ' jperio = 7 needs distributed memory computing ', & 82 & ' with 1 process. Add key_mpp_mpi in the list of active cpp keys ' ) 81 83 END SUBROUTINE mpp_init 82 84 … … 382 384 ! w a r n i n g narea (zone) /= nproc (processors)! 383 385 384 IF( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 ) THEN386 IF( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 .OR. jperio == 7 ) THEN 385 387 IF( jpni == 1 )THEN 386 388 nbondi = 2 … … 449 451 ENDIF 450 452 453 IF( jperio == 7 .AND. ( jpni /= 1 .OR. jpnj /= 1 ) ) & 454 & CALL ctl_stop( ' mpp_init: error jperio = 7 works only with jpni = jpnj = 1' ) 451 455 IF( nperio == 1 .AND. jpni /= 1 ) CALL ctl_stop( ' mpp_init: error on cyclicity' ) 452 456 -
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90
r5407 r6861 39 39 LOGICAL :: ln_3d_uve !: specify whether input velocity data is 3D 40 40 LOGICAL :: ln_read_frq !: specify whether we must read frq or not 41 LOGICAL :: l_sasread !: Ice intilisation: read a file (.TRUE.) or anaytical initilaistion in namelist &namsbc_sas 41 42 LOGICAL :: l_initdone = .false. 42 43 INTEGER :: nfld_3d … … 82 83 IF( nn_timing == 1 ) CALL timing_start( 'sbc_ssm') 83 84 85 IF ( l_sasread ) THEN 84 86 IF( nfld_3d > 0 ) CALL fld_read( kt, 1, sf_ssm_3d ) !== read data at kt time step ==! 85 87 IF( nfld_2d > 0 ) CALL fld_read( kt, 1, sf_ssm_2d ) !== read data at kt time step ==! … … 99 101 ssh_m(:,:) = sf_ssm_2d(jf_ssh)%fnow(:,:,1) * tmask(:,:,1) ! sea surface height 100 102 IF( ln_read_frq ) frq_m(:,:) = sf_ssm_2d(jf_frq)%fnow(:,:,1) * tmask(:,:,1) ! sea surface height 103 104 ELSE 105 sst_m(:,:) = 0. 106 sss_m(:,:) = 0. 107 ssu_m(:,:) = 0. 108 ssv_m(:,:) = 0. 109 ssh_m(:,:) = 0. 110 ENDIF 101 111 ! 102 112 IF ( nn_ice == 1 ) THEN … … 155 165 TYPE(FLD_N) :: sn_ssh, sn_e3t, sn_frq 156 166 ! 157 NAMELIST/namsbc_sas/ cn_dir, ln_3d_uve, ln_read_frq, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh, sn_e3t, sn_frq158 !!---------------------------------------------------------------------- 159 167 NAMELIST/namsbc_sas/l_sasread, cn_dir, ln_3d_uve, ln_read_frq, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh, sn_e3t, sn_frq 168 !!---------------------------------------------------------------------- 169 160 170 IF( ln_rstart .AND. nn_components == jp_iam_sas ) RETURN 161 171 … … 176 186 WRITE(numout,*) '~~~~~~~~~~~ ' 177 187 WRITE(numout,*) ' Namelist namsbc_sas' 188 WRITE(numout,*) ' Initialisation using an input file = ',l_sasread 178 189 WRITE(numout,*) ' Are we supplying a 3D u,v and e3 field ln_3d_uve = ', ln_3d_uve 179 190 WRITE(numout,*) ' Are we reading frq (fraction of qsr absorbed in the 1st T level) ln_read_frq = ', ln_read_frq … … 204 215 nn_closea = 0 205 216 ENDIF 217 IF (l_sasread) THEN 206 218 ! 207 219 !! following code is a bit messy, but distinguishes between when u,v are 3d arrays and … … 285 297 IF( nfld_2d > 0 ) DEALLOCATE( slf_2d, STAT=ierr ) 286 298 299 ENDIF 300 287 301 CALL sbc_ssm( nit000 ) ! need to define ss?_m arrays used in limistate 288 302 IF( .NOT. ln_read_frq ) frq_m(:,:) = 1. 289 l_initdone = .TRUE. 303 l_initdone = .TRUE. 290 304 ! 291 305 END SUBROUTINE sbc_ssm_init
Note: See TracChangeset
for help on using the changeset viewer.