Ignore:
Timestamp:
Feb 25, 2010, 3:50:51 PM (14 years ago)
Author:
idelkadi
Message:

Decoupage du pas de temps physique en N sous-pas (splitting)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d/calfis.F

    r1299 r1320  
    150150      REAL zdpsrf(ngridmx)
    151151c
     152      REAL zdufic(ngridmx,llm),zdvfic(ngridmx,llm)
     153      REAL zdtfic(ngridmx,llm),zdqfic(ngridmx,llm,nqtot)
     154      REAL jH_cur_split,zdt_split
     155      LOGICAL debut_split,lafin_split
     156      INTEGER isplit
     157
    152158      REAL zsin(iim),zcos(iim),z1(iim)
    153159      REAL zsinbis(iim),zcosbis(iim),z1bis(iim)
     
    443449
    444450      if (planet_type=="earth") then
     451
     452      print*,'PHYSIQUE AVEC NSPLIT_PHYS=',nsplit_phys
     453      zdt_split=dtphys/nsplit_phys
     454      zdufic(:,:)=0.
     455      zdvfic(:,:)=0.
     456      zdtfic(:,:)=0.
     457      zdqfic(:,:,:)=0.
     458
     459      do isplit=1,nsplit_phys
     460
     461         jH_cur_split=jH_cur+(isplit-1) * dtvr / (daysec *nsplit_phys)
     462         debut_split=debut.and.isplit==1
     463         lafin_split=lafin.and.isplit==nsplit_phys
     464
    445465#ifdef CPP_EARTH
    446       CALL physiq (ngridmx,
     466         CALL physiq (ngridmx,
    447467     .             llm,
    448      .             debut,
    449      .             lafin,
     468     .             debut_split,
     469     .             lafin_split,
    450470     .             jD_cur,
    451      .             jH_cur,
    452      .             dtphys,
     471     .             jH_cur_split,
     472     .             zdt_split,
    453473     .             zplev,
    454474     .             zplay,
     
    470490     .             pducov,
    471491     .             PVteta)
     492
     493         zufi(:,:)=zufi(:,:)+zdufi(:,:)*zdt_split
     494         zvfi(:,:)=zvfi(:,:)+zdvfi(:,:)*zdt_split
     495         ztfi(:,:)=ztfi(:,:)+zdtfi(:,:)*zdt_split
     496         zqfi(:,:,:)=zqfi(:,:,:)+zdqfi(:,:,:)*zdt_split
     497
     498         zdufic(:,:)=zdufic(:,:)+zdufi(:,:)
     499         zdvfic(:,:)=zdvfic(:,:)+zdvfi(:,:)
     500         zdtfic(:,:)=zdtfic(:,:)+zdtfi(:,:)
     501         zdqfic(:,:,:)=zdqfic(:,:,:)+zdqfi(:,:,:)
     502
     503      enddo
     504      zdufi(:,:)=zdufic(:,:)/nsplit_phys
     505      zdvfi(:,:)=zdvfic(:,:)/nsplit_phys
     506      zdtfi(:,:)=zdtfic(:,:)/nsplit_phys
     507      zdqfi(:,:,:)=zdqfic(:,:,:)/nsplit_phys
     508
    472509#endif
    473510      endif !of if (planet_type=="earth")
Note: See TracChangeset for help on using the changeset viewer.