Ignore:
Timestamp:
Sep 11, 2013, 2:34:44 PM (11 years ago)
Author:
emillour
Message:

Mars GCM: (a first step towards using parallel dynamics)

  • IMPORTANT CHANGE: Implemented dynamic tracers. It is no longer necessary to compile the model with the '-t #' option, number of tracers is simply read from tracer.def file (as before). Adapted makegcm_* scripts (and co.) accordingly. Technical aspects of the switch to dynamic tracers are:
    • advtrac.h (in dyn3d) removed and replaced by module infotrac.F
    • tracer.h (in phymars) removed and replaced by module tracer_mod.F90 (which contains nqmx, the number of tracers, etc. and can be used anywhere in the physics).
  • Included some side cleanups: removed unused files (in dyn3d) anldoppler2.F, anl_mcdstats.F and anl_stats-diag.F, and all the unecessary dimensions.* files in grid/dimension.
  • Checked that changes are clean and that GCM yields identical results (in debug mode) to previous svn version.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/dyn3d/dynetat0.F

    r999 r1036  
    33     
    44      use netcdf
     5      use infotrac, only: tnom
    56     
    67      IMPLICIT NONE
     
    3738#include "serre.h"
    3839#include "logic.h"
    39 #include "advtrac.h"
     40!#include "advtrac.h"
    4041#include "control.h"
    4142
     
    380381!           WRITE(str3(2:3),'(i2.2)') iq
    381382!           ierr =  NF_INQ_VARID (nid, str3, nvarid)
    382 ! NB: tracers are now read in using their name ('tnom' from advtrac.h)
     383! NB: tracers are now read in using their name ('tnom' from infotrac)
    383384!           write(*,*) "  loading tracer:",trim(tnom(iq))
    384385           ierr=nf90_inq_varid(nid,tnom(iq),nvarid)
     
    404405c        case when new tracer are added in addition to old ones
    405406             write(*,*)'tracers 1 to ', nqold,'were already present'
    406              write(*,*)'tracers ', nqold+1,' to ', nqmx,'are new'
     407             write(*,*)'tracers ', nqold+1,' to ', nq,'are new'
    407408!             yes=' '
    408409!            do while ((yes.ne.'y').and.(yes.ne.'n'))
    409410!             write(*,*) 'Would you like to reindex tracer # 1 ->',nqold
    410 !             write(*,*) 'to #',nqmx-nqold+1,'->', nqmx,'   (y or n) ?'
     411!             write(*,*) 'to #',nq-nqold+1,'->', nq,'   (y or n) ?'
    411412!             read(*,fmt='(a)') yes
    412413!            end do
     
    416417!                do j=1,jjp1
    417418!                  do i=1,iip1
    418 !                    do iq=nqmx,nqmx-nqold+1,-1
    419 !                       q(i,j,l,iq)=q(i,j,l,iq-nqmx+nqold)   
     419!                    do iq=nq,nq-nqold+1,-1
     420!                       q(i,j,l,iq)=q(i,j,l,iq-nq+nqold)   
    420421!                    end do
    421 !                    do iq=nqmx-nqold,1,-1
     422!                    do iq=nq-nqold,1,-1
    422423!                       q(i,j,l,iq)= 0.
    423424!                    end do
Note: See TracChangeset for help on using the changeset viewer.