Changeset 10068 for NEMO/trunk/src/NST
- Timestamp:
- 2018-08-28T16:09:04+02:00 (6 years ago)
- Location:
- NEMO/trunk/src/NST
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/NST/agrif2model.F90
r10067 r10068 1 1 #if defined key_agrif 2 !!----------------------------------------------------------------------3 !! NEMO/NST 4.0 , NEMO Consortium (2018)4 !! $Id$5 !! Software governed by the CeCILL licence (./LICENSE)6 !!----------------------------------------------------------------------2 !!---------------------------------------------------------------------- 3 !! NEMO/NST 4.0 , NEMO Consortium (2018) 4 !! $Id$ 5 !! Software governed by the CeCILL license (see ./LICENSE) 6 !!---------------------------------------------------------------------- 7 7 SUBROUTINE Agrif2Model 8 !!---------------------------------------------9 !! *** ROUTINE Agrif2Model ***10 !!---------------------------------------------8 !!--------------------------------------------- 9 !! *** ROUTINE Agrif2Model *** 10 !!--------------------------------------------- 11 11 END SUBROUTINE Agrif2model 12 12 13 13 SUBROUTINE Agrif_Set_numberofcells(Agrif_Gr) 14 !!---------------------------------------------15 !! *** ROUTINE Agrif_Set_numberofcells ***16 !!---------------------------------------------14 !!--------------------------------------------- 15 !! *** ROUTINE Agrif_Set_numberofcells *** 16 !!--------------------------------------------- 17 17 USE Agrif_Grids 18 18 IMPLICIT NONE … … 27 27 28 28 SUBROUTINE Agrif_Get_numberofcells(Agrif_Gr) 29 !!---------------------------------------------30 !! *** ROUTINE Agrif_Get_numberofcells ***31 !!---------------------------------------------29 !!--------------------------------------------- 30 !! *** ROUTINE Agrif_Get_numberofcells *** 31 !!--------------------------------------------- 32 32 USE Agrif_Grids 33 33 IMPLICIT NONE … … 42 42 43 43 SUBROUTINE Agrif_Allocationcalls(Agrif_Gr) 44 !!---------------------------------------------45 !! *** ROUTINE Agrif_Allocationscalls ***46 !!---------------------------------------------44 !!--------------------------------------------- 45 !! *** ROUTINE Agrif_Allocationscalls *** 46 !!--------------------------------------------- 47 47 USE Agrif_Grids 48 48 #include "include_use_Alloc_agrif.h" … … 56 56 57 57 SUBROUTINE Agrif_probdim_modtype_def() 58 !!---------------------------------------------59 !! *** ROUTINE Agrif_probdim_modtype_def ***60 !!---------------------------------------------58 !!--------------------------------------------- 59 !! *** ROUTINE Agrif_probdim_modtype_def *** 60 !!--------------------------------------------- 61 61 USE Agrif_Types 62 62 IMPLICIT NONE … … 71 71 72 72 SUBROUTINE Agrif_clustering_def() 73 !!---------------------------------------------74 !! *** ROUTINE Agrif_clustering_def ***75 !!---------------------------------------------73 !!--------------------------------------------- 74 !! *** ROUTINE Agrif_clustering_def *** 75 !!--------------------------------------------- 76 76 IMPLICIT NONE 77 77 … … 82 82 #else 83 83 SUBROUTINE Agrif2Model 84 !!---------------------------------------------85 !! *** ROUTINE Agrif2Model ***86 !!---------------------------------------------84 !!--------------------------------------------- 85 !! *** ROUTINE Agrif2Model *** 86 !!--------------------------------------------- 87 87 WRITE(*,*) 'Impossible to bet here' 88 88 END SUBROUTINE Agrif2model -
NEMO/trunk/src/NST/agrif_all_update.F90
- Property svn:keywords set to yes
r9780 r10068 30 30 !! NEMO/NST 4.0 , NEMO Consortium (2018) 31 31 !! $Id: agrif_all_update.F90 9758 2018-06-07 09:18:26Z jchanut $ 32 !! Software governed by the CeCILL licen ce (./LICENSE)32 !! Software governed by the CeCILL license (see ./LICENSE) 33 33 !!---------------------------------------------------------------------- 34 34 CONTAINS -
NEMO/trunk/src/NST/agrif_ice.F90
r9872 r10068 21 21 !! NEMO/NST 4.0 , NEMO Consortium (2018) 22 22 !! $Id$ 23 !! Software governed by the CeCILL licen ce (./LICENSE)23 !! Software governed by the CeCILL license (see ./LICENSE) 24 24 !!---------------------------------------------------------------------- 25 25 -
NEMO/trunk/src/NST/agrif_ice_interp.F90
- Property svn:keywords set to yes
r10067 r10068 33 33 !! NEMO/NST 4.0 , NEMO Consortium (2018) 34 34 !! $Id: agrif_ice_interp.F90 6204 2016-01-04 13:47:06Z cetlod $ 35 !! Software governed by the CeCILL licen ce (./LICENSE)35 !! Software governed by the CeCILL license (see ./LICENSE) 36 36 !!---------------------------------------------------------------------- 37 37 -
NEMO/trunk/src/NST/agrif_ice_update.F90
- Property svn:keywords set to yes
r9785 r10068 38 38 !! NEMO/NST 4.0 , NEMO Consortium (2018) 39 39 !! $Id: agrif_ice_update.F90 6204 2016-01-04 13:47:06Z cetlod $ 40 !! Software governed by the CeCILL licen ce (modipsl/doc/NEMO_CeCILL.txt)40 !! Software governed by the CeCILL license (see ./LICENSE) 41 41 !!---------------------------------------------------------------------- 42 42 CONTAINS -
NEMO/trunk/src/NST/agrif_oce.F90
r9598 r10068 70 70 !! NEMO/NST 4.0 , NEMO Consortium (2018) 71 71 !! $Id$ 72 !! Software governed by the CeCILL licen ce (./LICENSE)72 !! Software governed by the CeCILL license (see ./LICENSE) 73 73 !!---------------------------------------------------------------------- 74 74 CONTAINS -
NEMO/trunk/src/NST/agrif_oce_interp.F90
r9806 r10068 50 50 !! NEMO/NST 4.0 , NEMO Consortium (2018) 51 51 !! $Id$ 52 !! Software governed by the CeCILL licen ce (./LICENSE)52 !! Software governed by the CeCILL license (see ./LICENSE) 53 53 !!---------------------------------------------------------------------- 54 54 CONTAINS -
NEMO/trunk/src/NST/agrif_oce_sponge.F90
r9806 r10068 32 32 !! NEMO/NST 4.0 , NEMO Consortium (2018) 33 33 !! $Id$ 34 !! Software governed by the CeCILL licen ce (./LICENSE)34 !! Software governed by the CeCILL license (see ./LICENSE) 35 35 !!---------------------------------------------------------------------- 36 36 CONTAINS -
NEMO/trunk/src/NST/agrif_oce_update.F90
r9780 r10068 35 35 !! NEMO/NST 4.0 , NEMO Consortium (2018) 36 36 !! $Id$ 37 !! Software governed by the CeCILL licen ce (./LICENSE)37 !! Software governed by the CeCILL license (see ./LICENSE) 38 38 !!---------------------------------------------------------------------- 39 39 CONTAINS -
NEMO/trunk/src/NST/agrif_top_interp.F90
r9806 r10068 29 29 !! NEMO/NST 4.0 , NEMO Consortium (2018) 30 30 !! $Id$ 31 !! Software governed by the CeCILL licen ce (./LICENSE)31 !! Software governed by the CeCILL license (see ./LICENSE) 32 32 !!---------------------------------------------------------------------- 33 33 CONTAINS -
NEMO/trunk/src/NST/agrif_top_sponge.F90
r9598 r10068 32 32 !! NEMO/NST 4.0 , NEMO Consortium (2018) 33 33 !! $Id$ 34 !! Software governed by the CeCILL licen ce (./LICENSE)34 !! Software governed by the CeCILL license (see ./LICENSE) 35 35 !!---------------------------------------------------------------------- 36 36 CONTAINS -
NEMO/trunk/src/NST/agrif_top_update.F90
r9598 r10068 29 29 !! NEMO/NST 4.0 , NEMO Consortium (2018) 30 30 !! $Id$ 31 !! Software governed by the CeCILL licen ce (./LICENSE)31 !! Software governed by the CeCILL license (see ./LICENSE) 32 32 !!---------------------------------------------------------------------- 33 33 CONTAINS -
NEMO/trunk/src/NST/agrif_user.F90
r9872 r10068 1 1 #undef UPD_HIGH /* MIX HIGH UPDATE */ 2 2 #if defined key_agrif 3 !!----------------------------------------------------------------------4 !! NEMO/NST 4.0 , NEMO Consortium (2018)5 !! $Id$6 !! Software governed by the CeCILL licence (./LICENSE)7 !!----------------------------------------------------------------------3 !!---------------------------------------------------------------------- 4 !! NEMO/NST 4.0 , NEMO Consortium (2018) 5 !! $Id$ 6 !! Software governed by the CeCILL license (see ./LICENSE) 7 !!---------------------------------------------------------------------- 8 8 SUBROUTINE agrif_user 9 9 END SUBROUTINE agrif_user … … 13 13 14 14 SUBROUTINE Agrif_InitWorkspace 15 !!----------------------------------------------------------------------16 !! *** ROUTINE Agrif_InitWorkspace ***17 !!----------------------------------------------------------------------15 !!---------------------------------------------------------------------- 16 !! *** ROUTINE Agrif_InitWorkspace *** 17 !!---------------------------------------------------------------------- 18 18 USE par_oce 19 19 USE dom_oce 20 20 USE nemogcm 21 21 USE mppini 22 !!23 IMPLICIT NONE 24 !!----------------------------------------------------------------------22 !! 23 IMPLICIT NONE 24 !!---------------------------------------------------------------------- 25 25 ! 26 26 IF( .NOT. Agrif_Root() ) THEN … … 37 37 38 38 SUBROUTINE Agrif_InitValues 39 !!----------------------------------------------------------------------40 !! *** ROUTINE Agrif_InitValues ***41 !!42 !! ** Purpose :: Declaration of variables to be interpolated43 !!----------------------------------------------------------------------39 !!---------------------------------------------------------------------- 40 !! *** ROUTINE Agrif_InitValues *** 41 !! 42 !! ** Purpose :: Declaration of variables to be interpolated 43 !!---------------------------------------------------------------------- 44 44 USE Agrif_Util 45 45 USE oce … … 50 50 !! 51 51 IMPLICIT NONE 52 !!----------------------------------------------------------------------52 !!---------------------------------------------------------------------- 53 53 ! 54 54 CALL nemo_init !* Initializations of each fine grid … … 69 69 70 70 SUBROUTINE Agrif_InitValues_cont_dom 71 !!----------------------------------------------------------------------72 !! *** ROUTINE Agrif_InitValues_cont ***73 !!74 !! ** Purpose :: Declaration of variables to be interpolated75 !!----------------------------------------------------------------------71 !!---------------------------------------------------------------------- 72 !! *** ROUTINE Agrif_InitValues_cont *** 73 !! 74 !! ** Purpose :: Declaration of variables to be interpolated 75 !!---------------------------------------------------------------------- 76 76 USE Agrif_Util 77 77 USE oce … … 84 84 ! 85 85 IMPLICIT NONE 86 !!----------------------------------------------------------------------86 !!---------------------------------------------------------------------- 87 87 ! 88 88 ! Declaration of the type of variable which have to be interpolated … … 94 94 95 95 SUBROUTINE agrif_declare_var_dom 96 !!----------------------------------------------------------------------97 !! *** ROUTINE agrif_declare_var ***98 !!99 !! ** Purpose :: Declaration of variables to be interpolated100 !!----------------------------------------------------------------------96 !!---------------------------------------------------------------------- 97 !! *** ROUTINE agrif_declare_var *** 98 !! 99 !! ** Purpose :: Declaration of variables to be interpolated 100 !!---------------------------------------------------------------------- 101 101 USE agrif_util 102 102 USE par_oce … … 106 106 ! 107 107 INTEGER :: ind1, ind2, ind3 108 !!----------------------------------------------------------------------109 110 ! 1. Declaration of the type of variable which have to be interpolated111 !---------------------------------------------------------------------108 !!---------------------------------------------------------------------- 109 110 ! 1. Declaration of the type of variable which have to be interpolated 111 !--------------------------------------------------------------------- 112 112 ind1 = nbghostcells 113 113 ind2 = 1 + nbghostcells … … 116 116 CALL agrif_declare_variable((/2,1/),(/ind3,ind2/),(/'x','y'/),(/1,1/),(/nlci,nlcj/),e2v_id) 117 117 118 ! 2. Type of interpolation119 !-------------------------118 ! 2. Type of interpolation 119 !------------------------- 120 120 CALL Agrif_Set_bcinterp( e1u_id, interp1=Agrif_linear, interp2=AGRIF_ppm ) 121 121 CALL Agrif_Set_bcinterp( e2v_id, interp1=AGRIF_ppm , interp2=Agrif_linear ) 122 122 123 ! 3. Location of interpolation124 !-----------------------------123 ! 3. Location of interpolation 124 !----------------------------- 125 125 CALL Agrif_Set_bc(e1u_id,(/0,ind1-1/)) 126 126 CALL Agrif_Set_bc(e2v_id,(/0,ind1-1/)) 127 127 128 ! 4. Update type129 !---------------128 ! 4. Update type 129 !--------------- 130 130 # if defined UPD_HIGH 131 131 CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Average, update2=Agrif_Update_Full_Weighting) … … 140 140 141 141 SUBROUTINE Agrif_InitValues_cont 142 !!----------------------------------------------------------------------143 !! *** ROUTINE Agrif_InitValues_cont ***144 !!145 !! ** Purpose :: Declaration of variables to be interpolated146 !!----------------------------------------------------------------------142 !!---------------------------------------------------------------------- 143 !! *** ROUTINE Agrif_InitValues_cont *** 144 !! 145 !! ** Purpose :: Declaration of variables to be interpolated 146 !!---------------------------------------------------------------------- 147 147 USE agrif_oce_update 148 148 USE agrif_oce_interp … … 161 161 LOGICAL :: check_namelist 162 162 CHARACTER(len=15) :: cl_check1, cl_check2, cl_check3, cl_check4 163 !!----------------------------------------------------------------------163 !!---------------------------------------------------------------------- 164 164 165 165 ! 1. Declaration of the type of variable which have to be interpolated … … 293 293 294 294 SUBROUTINE agrif_declare_var 295 !!----------------------------------------------------------------------296 !! *** ROUTINE agrif_declarE_var ***297 !!298 !! ** Purpose :: Declaration of variables to be interpolated299 !!----------------------------------------------------------------------295 !!---------------------------------------------------------------------- 296 !! *** ROUTINE agrif_declarE_var *** 297 !! 298 !! ** Purpose :: Declaration of variables to be interpolated 299 !!---------------------------------------------------------------------- 300 300 USE agrif_util 301 301 USE agrif_oce … … 307 307 ! 308 308 INTEGER :: ind1, ind2, ind3 309 !!----------------------------------------------------------------------309 !!---------------------------------------------------------------------- 310 310 311 311 ! 1. Declaration of the type of variable which have to be interpolated … … 451 451 #if defined key_si3 452 452 SUBROUTINE Agrif_InitValues_cont_ice 453 !!----------------------------------------------------------------------454 !! *** ROUTINE Agrif_InitValues_cont_ice ***455 !!456 !! ** Purpose :: Initialisation of variables to be interpolated for ice457 !!----------------------------------------------------------------------453 !!---------------------------------------------------------------------- 454 !! *** ROUTINE Agrif_InitValues_cont_ice *** 455 !! 456 !! ** Purpose :: Initialisation of variables to be interpolated for ice 457 !!---------------------------------------------------------------------- 458 458 USE Agrif_Util 459 459 USE sbc_oce, ONLY : nn_fsbc ! clem: necessary otherwise Agrif_Parent(nn_fsbc) = nn_fsbc … … 465 465 ! 466 466 IMPLICIT NONE 467 !!----------------------------------------------------------------------467 !!---------------------------------------------------------------------- 468 468 ! 469 469 ! Declaration of the type of variable which have to be interpolated (parent=>child) … … 495 495 496 496 SUBROUTINE agrif_declare_var_ice 497 !!----------------------------------------------------------------------498 !! *** ROUTINE agrif_declare_var_ice ***499 !!500 !! ** Purpose :: Declaration of variables to be interpolated for ice501 !!----------------------------------------------------------------------497 !!---------------------------------------------------------------------- 498 !! *** ROUTINE agrif_declare_var_ice *** 499 !! 500 !! ** Purpose :: Declaration of variables to be interpolated for ice 501 !!---------------------------------------------------------------------- 502 502 USE Agrif_Util 503 503 USE ice … … 507 507 ! 508 508 INTEGER :: ind1, ind2, ind3 509 !!----------------------------------------------------------------------509 !!---------------------------------------------------------------------- 510 510 ! 511 511 ! 1. Declaration of the type of variable which have to be interpolated (parent=>child) … … 553 553 # if defined key_top 554 554 SUBROUTINE Agrif_InitValues_cont_top 555 !!----------------------------------------------------------------------556 !! *** ROUTINE Agrif_InitValues_cont_top ***557 !!558 !! ** Purpose :: Declaration of variables to be interpolated559 !!----------------------------------------------------------------------555 !!---------------------------------------------------------------------- 556 !! *** ROUTINE Agrif_InitValues_cont_top *** 557 !! 558 !! ** Purpose :: Declaration of variables to be interpolated 559 !!---------------------------------------------------------------------- 560 560 USE Agrif_Util 561 561 USE oce … … 575 575 CHARACTER(len=10) :: cl_check1, cl_check2, cl_check3 576 576 LOGICAL :: check_namelist 577 !!----------------------------------------------------------------------577 !!---------------------------------------------------------------------- 578 578 579 579 … … 634 634 635 635 SUBROUTINE agrif_declare_var_top 636 !!----------------------------------------------------------------------637 !! *** ROUTINE agrif_declare_var_top ***638 !!639 !! ** Purpose :: Declaration of TOP variables to be interpolated640 !!----------------------------------------------------------------------636 !!---------------------------------------------------------------------- 637 !! *** ROUTINE agrif_declare_var_top *** 638 !! 639 !! ** Purpose :: Declaration of TOP variables to be interpolated 640 !!---------------------------------------------------------------------- 641 641 USE agrif_util 642 642 USE agrif_oce … … 647 647 ! 648 648 INTEGER :: ind1, ind2, ind3 649 !!----------------------------------------------------------------------649 !!---------------------------------------------------------------------- 650 650 651 651 ! 1. Declaration of the type of variable which have to be interpolated … … 684 684 685 685 SUBROUTINE Agrif_detect( kg, ksizex ) 686 !!----------------------------------------------------------------------687 !! *** ROUTINE Agrif_detect ***688 !!----------------------------------------------------------------------686 !!---------------------------------------------------------------------- 687 !! *** ROUTINE Agrif_detect *** 688 !!---------------------------------------------------------------------- 689 689 INTEGER, DIMENSION(2) :: ksizex 690 690 INTEGER, DIMENSION(ksizex(1),ksizex(2)) :: kg 691 !!----------------------------------------------------------------------691 !!---------------------------------------------------------------------- 692 692 ! 693 693 RETURN … … 697 697 698 698 SUBROUTINE agrif_nemo_init 699 !!----------------------------------------------------------------------700 !! *** ROUTINE agrif_init ***701 !!----------------------------------------------------------------------699 !!---------------------------------------------------------------------- 700 !! *** ROUTINE agrif_init *** 701 !!---------------------------------------------------------------------- 702 702 USE agrif_oce 703 703 USE agrif_ice … … 710 710 INTEGER :: iminspon 711 711 NAMELIST/namagrif/ rn_sponge_tra, rn_sponge_dyn, ln_spc_dyn, ln_chk_bathy 712 !!--------------------------------------------------------------------------------------712 !!-------------------------------------------------------------------------------------- 713 713 ! 714 714 REWIND( numnam_ref ) ! Namelist namagrif in reference namelist : AGRIF zoom … … 747 747 748 748 SUBROUTINE Agrif_InvLoc( indloc, nprocloc, i, indglob ) 749 !!----------------------------------------------------------------------750 !! *** ROUTINE Agrif_InvLoc ***751 !!----------------------------------------------------------------------749 !!---------------------------------------------------------------------- 750 !! *** ROUTINE Agrif_InvLoc *** 751 !!---------------------------------------------------------------------- 752 752 USE dom_oce 753 753 !! … … 755 755 ! 756 756 INTEGER :: indglob, indloc, nprocloc, i 757 !!----------------------------------------------------------------------757 !!---------------------------------------------------------------------- 758 758 ! 759 759 SELECT CASE( i ) … … 768 768 769 769 SUBROUTINE Agrif_get_proc_info( imin, imax, jmin, jmax ) 770 !!----------------------------------------------------------------------771 !! *** ROUTINE Agrif_get_proc_info ***772 !!----------------------------------------------------------------------770 !!---------------------------------------------------------------------- 771 !! *** ROUTINE Agrif_get_proc_info *** 772 !!---------------------------------------------------------------------- 773 773 USE par_oce 774 774 !! … … 777 777 INTEGER, INTENT(out) :: imin, imax 778 778 INTEGER, INTENT(out) :: jmin, jmax 779 !!----------------------------------------------------------------------779 !!---------------------------------------------------------------------- 780 780 ! 781 781 imin = nimppt(Agrif_Procrank+1) ! ????? … … 788 788 789 789 SUBROUTINE Agrif_estimate_parallel_cost(imin, imax,jmin, jmax, nbprocs, grid_cost) 790 !!----------------------------------------------------------------------791 !! *** ROUTINE Agrif_estimate_parallel_cost ***792 !!----------------------------------------------------------------------790 !!---------------------------------------------------------------------- 791 !! *** ROUTINE Agrif_estimate_parallel_cost *** 792 !!---------------------------------------------------------------------- 793 793 USE par_oce 794 794 !! … … 799 799 INTEGER, INTENT(in) :: nbprocs 800 800 REAL(wp), INTENT(out) :: grid_cost 801 !!----------------------------------------------------------------------801 !!---------------------------------------------------------------------- 802 802 ! 803 803 grid_cost = REAL(imax-imin+1,wp)*REAL(jmax-jmin+1,wp) / REAL(nbprocs,wp) … … 809 809 #else 810 810 SUBROUTINE Subcalledbyagrif 811 !!----------------------------------------------------------------------812 !! *** ROUTINE Subcalledbyagrif ***813 !!----------------------------------------------------------------------811 !!---------------------------------------------------------------------- 812 !! *** ROUTINE Subcalledbyagrif *** 813 !!---------------------------------------------------------------------- 814 814 WRITE(*,*) 'Impossible to be here' 815 815 END SUBROUTINE Subcalledbyagrif
Note: See TracChangeset
for help on using the changeset viewer.