Changeset 847


Ignore:
Timestamp:
Nov 18, 2012, 7:15:08 PM (12 years ago)
Author:
aslmd
Message:

LMDZ.COMMON. Corrected bugs with using variable cp in parallel. Corrected bugs related to problems when no tracers are used. Updated makelmdz_fcm with the latest version and added a few lines necessary for generic physics. Added a build_gcm script in csh. Updated AMD64_CICLAD compilation settings. Uploaded arch files to make the model work with ifort on ciclad.

Location:
trunk/LMDZ.COMMON
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/arch/arch-AMD64_CICLAD.fcm

    r1 r847  
    1 %COMPILER            /usr/lib64/openmpi/1.2.8-pgf/bin/mpif90
    2 %LINK                /usr/lib64/openmpi/1.2.8-pgf/bin/mpif90
     1%COMPILER            /usr/lib64/openmpi/1.4.3-pgf/bin/mpif90
     2%LINK                /usr/lib64/openmpi/1.4.3-pgf/bin/mpif90
    33%AR                  ar
    44%MAKE                gmake
     
    1212%OMP_FFLAGS          -mp
    1313%BASE_LD             -lblas
    14 %MPI_LD              -L/usr/lib64/openmpi/1.2.8-pgf/lib
     14%MPI_LD              -L/usr/lib64/openmpi/1.4.3-pgf/lib
    1515%OMP_LD              -mp
  • trunk/LMDZ.COMMON/arch/arch-AMD64_CICLAD.path

    r270 r847  
    11NETCDF_LIBDIR="-L/opt/netcdf/pgf/lib -lnetcdf"
    22NETCDF_INCDIR=-I/opt/netcdf/pgf/include
    3 IOIPSL_INCDIR=$trunk/ioipsl/lib
    4 IOIPSL_LIBDIR=$trunk/ioipsl/lib
    5 ORCH_INCDIR=$LMDGCM/../../lib
    6 ORCH_LIBDIR=$LMDGCM/../../lib
    7 OASIS_INCDIR=$LMDGCM/../../prism/SX/build/lib/psmile.$couple
    8 OASIS_LIBDIR=$LMDGCM/../../prism/SX/lib
    9 INCA_LIBDIR=$LMDGCM/../INCA3/config/lib
    10 INCA_INCDIR=$LMDGCM/../INCA3/config/lib
     3IOIPSL_INCDIR=/home/spiga/IOIPSL_SVN/modipsl/lib
     4IOIPSL_LIBDIR=/home/spiga/IOIPSL_SVN/modipsl/lib
  • trunk/LMDZ.COMMON/libf/dyn3dpar/calfis_p.F

    r841 r847  
    357357
    358358! ADAPTATION GCM POUR CP(T)
    359          call tpot2t_p(ngridmx*llm,zteta,ztfi,zpk)
     359         call tpot2t_p(klon,llm,zteta,ztfi,zpk)
    360360
    361361c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     
    984984     
    985985! ADAPTATION GCM POUR CP(T)
    986       call t2tpot_p(ngridmx,llm,ztfi,zteta,zpk)
     986      call t2tpot_p(klon,llm,ztfi,zteta,zpk)
    987987
    988988
  • trunk/LMDZ.COMMON/libf/dyn3dpar/cpdet.F

    r37 r847  
    109109      integer :: ij,l,ijb,ije
    110110     
    111       ijb=ij_begin
    112       ije=ij_end 
    113      
     111      !ijb=ij_begin
     112      !ije=ij_end
     113      ijb=1
     114      ije=ip1jmp1
     115     
    114116      if (planet_type.eq."venus") then
    115117!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     
    165167c======================================================================
    166168c======================================================================
    167       SUBROUTINE tpot2t_p(ip1jmp1,llm,yteta, yt, ypk)
     169      SUBROUTINE tpot2t_p(ip1jmp1,llm,yteta,yt,ypk)
    168170! Parallel version of tpot2t
    169171      USE parallel
     
    177179      real,intent(in) :: yteta(ip1jmp1,llm)
    178180      real,intent(in) :: ypk(ip1jmp1,llm)
     181
    179182! local variable:
    180183      integer :: ij,l,ijb,ije
    181      
    182       ijb=ij_begin
    183       ije=ij_end 
     184
     185      !ijb=ij_begin
     186      !ije=ij_end
     187      ijb=1
     188      ije=ip1jmp1
    184189
    185190      if (planet_type.eq."venus") then
  • trunk/LMDZ.COMMON/libf/dyn3dpar/leapfrog_p.F

    r841 r847  
    521521!         call Register_SwapFieldHallo(finvmaold,finvmaold,ip1jmp1,llm,
    522522!     &                                jj_Nb_caldyn,0,0,TestRequest)
    523  
     523
    524524        do j=1,nqtot
    525525         call Register_SwapFieldHallo(q(1,1,j),q(1,1,j),ip1jmp1,llm,
     
    610610        call WriteField_p('pkf',reshape(pkf,(/iip1,jmp1,llm/)))
    611611        call WriteField_p('phis',reshape(phis,(/iip1,jmp1/)))
     612        if (nqtot > 0) then
    612613        do j=1,nqtot
    613614          call WriteField_p('q'//trim(int2str(j)),
    614615     .                reshape(q(:,:,j),(/iip1,jmp1,llm/)))
    615616        enddo
     617        endif
    616618!$OMP END MASTER       
    617619c$OMP BARRIER
     
    939941     *                      1,0,0,1,Request_physic)
    940942
     943        if (nqtot > 0) then
    941944        do j=1,nqtot
    942945          call Register_Hallo(dqfi(1,1,j),ip1jmp1,llm,
    943946     *                        1,0,0,1,Request_physic)
    944947        enddo
     948        endif
    945949       
    946950        call SendRequest(Request_Physic)
     
    10581062c
    10591063c  Diagnostique de conservation de l'energie : difference
    1060       IF (ip_ebil_dyn.ge.1 ) THEN
     1064      IF ((ip_ebil_dyn.ge.1 ) .and. (nqtot > 1)) THEN
    10611065          ztit='bil phys'
    10621066          CALL diagedyn(ztit,2,1,1,dtphys
     
    14991503                write(82,*) 'ps',ps
    15001504                write(83,*) 'q',q
    1501                 WRITE(85,*) 'q1 = ',q(:,:,1)
    1502                 WRITE(86,*) 'q3 = ',q(:,:,3)
     1505                if (nqtot > 2) then
     1506                 WRITE(85,*) 'q1 = ',q(:,:,1)
     1507                 WRITE(86,*) 'q3 = ',q(:,:,3)
     1508                endif
    15031509              endif
    15041510 
     
    15541560                call Gather_Field(pk,ip1jmp1,llm,0)
    15551561                call Gather_Field(phi,ip1jmp1,llm,0)
    1556                 do iq=1,nqtot
     1562                 do iq=1,nqtot
    15571563                  call Gather_Field(q(1,1,iq),ip1jmp1,llm,0)
    1558                 enddo
     1564                 enddo
    15591565                call Gather_Field(masse,ip1jmp1,llm,0)
    15601566                call Gather_Field(ps,ip1jmp1,1,0)
     
    16261632                call Gather_Field(teta,ip1jmp1,llm,0)
    16271633                call Gather_Field(phi,ip1jmp1,llm,0)
    1628                 do iq=1,nqtot
     1634                 do iq=1,nqtot
    16291635                  call Gather_Field(q(1,1,iq),ip1jmp1,llm,0)
    1630                 enddo
     1636                 enddo
    16311637                call Gather_Field(masse,ip1jmp1,llm,0)
    16321638                call Gather_Field(ps,ip1jmp1,1,0)
     
    18501856                call Gather_Field(teta,ip1jmp1,llm,0)
    18511857                call Gather_Field(phi,ip1jmp1,llm,0)
    1852                 do iq=1,nqtot
     1858                 do iq=1,nqtot
    18531859                  call Gather_Field(q(1,1,iq),ip1jmp1,llm,0)
    1854                 enddo
     1860                 enddo
    18551861                call Gather_Field(masse,ip1jmp1,llm,0)
    18561862                call Gather_Field(ps,ip1jmp1,1,0)
     
    18691875                  call Gather_Field(teta,ip1jmp1,llm,0)
    18701876                  call Gather_Field(ps,ip1jmp1,1,0)
    1871                   do iq=1,nqtot
     1877                   do iq=1,nqtot
    18721878                    call Gather_Field(q(1,1,iq),ip1jmp1,llm,0)
    1873                   enddo
     1879                   enddo
    18741880c     
    18751881                  if (mpi_rank==0) then
  • trunk/LMDZ.COMMON/makelmdz_fcm

    r270 r847  
    11#!/bin/bash
    2 # $Id: makelmdz_fcm 1327 2010-03-16 10:23:17Z ymeurdesoif $
     2# $Id: makelmdz_fcm 1615 2012-02-10 15:42:26Z emillour $
    33# This is a script in Bash.
    44
     
    2727io=ioipsl
    2828LIBPREFIX=""
    29 fcm_path=none
    3029cosp=false
    3130
     
    3433LIBFGCM=$LMDGCM/libf
    3534COSP_PATH=$LMDGCM/.void_dir
     35fcm_path=$LMDGCM/tools/fcm/bin
    3636
    3737########################################################################
     
    7474[-filtre NOMFILTRE]        : prend le filtre dans libf/NOMFILTRE (def: filtrez)
    7575[-link LINKS]              : liens optionels avec d'autres librairies
    76 [-fcm_path path]           : chemin pour fcm (def: le chemin est suppose deja exister dans le PATH)
     76[-fcm_path path]           : chemin pour fcm (def: tools/fcm/bin)
    7777[-ext_src path]            : chemin d'un repertoire source avec des sources externe a compiler avec le modele
    7878 -arch nom_arch            : nom de l'architecture cible
     
    156156# mettre le chemin du fcm dans le path
    157157###############################################################
    158 if  [[ "$fcm_path" != "none" ]]
    159 then
    160     export PATH=${fcm_path}:${PATH}
    161 fi
     158export PATH=${fcm_path}:${PATH}
    162159
    163160echo "Chemin du fcm utlise :"
     
    193190if [[ "$physique" != "nophys" ]]
    194191then
    195    # then we wil use some physics:
     192   #We'll use some physics
    196193   CPP_KEY="$CPP_KEY CPP_PHYS"
    197    #Default planet type is Earth
     194   if [[ "${physique:0:3}" == "lmd" ]]
     195   then
     196   #For lmd physics, default planet type is Earth
    198197   CPP_KEY="$CPP_KEY CPP_EARTH"
     198   fi
    199199fi
    200200
     
    284284cd $LMDGCM
    285285
     286if [[ "$physique" == "generic" ]]
     287then
     288   cd $LIBFGCM/phygeneric
     289   ./generatedoth.sh
     290   cd $LMDGCM
     291fi
    286292
    287293########################################################################
Note: See TracChangeset for help on using the changeset viewer.