Ignore:
Timestamp:
Jun 25, 2015, 9:45:24 AM (9 years ago)
Author:
Ehouarn Millour
Message:

Further modifications to enforce physics/dynamics separation:

  • moved iniprint.h and misc_mod back to dyn3d_common, as these should only be used by dynamics.
  • created print_control_mod in the physics to store flags prt_level, lunout, debug to be local to physics (should be used rather than iniprint.h)
  • created abort_physic.F90 , which does the same job as abort_gcm() did, but should be used instead when in physics.
  • reactivated inifis (turned it into a module, inifis_mod.F90) to initialize physical constants and print_control_mod flags.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/thermcell_flux2.F90

    r1907 r2311  
    1313!---------------------------------------------------------------------------
    1414
     15      USE print_control_mod, ONLY: prt_level
    1516      IMPLICIT NONE
    16 #include "iniprint.h"
    1717#include "thermcell.h"
    1818     
     
    5050      save fomass_max,alphamax
    5151
    52       logical check_debug,labort_gcm
     52      logical check_debug,labort_physic
    5353
    5454      character (len=20) :: modname='thermcell_flux2'
     
    108108                    print*,'detr_star(ig,l)',detr_star(ig,l)
    109109                    abort_message = ''
    110                     labort_gcm=.true.
    111                     CALL abort_gcm (modname,abort_message,1)
     110                    labort_physic=.true.
     111                    CALL abort_physic (modname,abort_message,1)
    112112               endif
    113113            endif
     
    270270
    271271
    272          labort_gcm=.false.
     272         labort_physic=.false.
    273273         do ig=1,ngrid
    274274            if (entr(ig,l)<0.) then
    275                labort_gcm=.true.
     275               labort_physic=.true.
    276276               igout=ig
    277277               lout=l
     
    279279         enddo
    280280
    281          if (labort_gcm) then
     281         if (labort_physic) then
    282282            print*,'N1 ig,l,entr',igout,lout,entr(igout,lout)
    283283            abort_message = 'entr negatif'
    284             CALL abort_gcm (modname,abort_message,1)
     284            CALL abort_physic (modname,abort_message,1)
    285285         endif
    286286
     
    310310         enddo
    311311
    312          labort_gcm=.false.
     312         labort_physic=.false.
    313313         do ig=1,ngrid
    314314            if (entr(ig,l).lt.0.) then
    315                labort_gcm=.true.
     315               labort_physic=.true.
    316316               igout=ig
    317317            endif
    318318         enddo
    319          if (labort_gcm) then
     319         if (labort_physic) then
    320320            ig=igout
    321321            print*,'ig,l,lmax(ig)',ig,l,lmax(ig)
     
    323323            print*,'fm(ig,l)',fm(ig,l)
    324324            abort_message = 'probleme dans thermcell flux'
    325             CALL abort_gcm (modname,abort_message,1)
     325            CALL abort_physic (modname,abort_message,1)
    326326         endif
    327327
     
    348348         enddo
    349349
    350          labort_gcm=.false.
     350         labort_physic=.false.
    351351         do ig=1,ngrid
    352352            if (detr(ig,l).lt.0.) then
    353                labort_gcm=.true.
     353               labort_physic=.true.
    354354               igout=ig
    355355            endif
    356356        enddo
    357         if (labort_gcm) then
     357        if (labort_physic) then
    358358               ig=igout
    359359               print*,'cas 2 : ig,l,lmax(ig)',ig,l,lmax(ig)
     
    361361               print*,'fm(ig,l)',fm(ig,l)
    362362               abort_message = 'probleme dans thermcell flux'
    363                CALL abort_gcm (modname,abort_message,1)
     363               CALL abort_physic (modname,abort_message,1)
    364364        endif
    365365!    enddo
     
    427427
    428428      if (1.eq.1) then
    429       labort_gcm=.false.
     429      labort_physic=.false.
    430430      do l=1,klev-1
    431431         do ig=1,ngrid
     
    450450                         igout=ig
    451451                         lout=l
    452                          labort_gcm=.true.
     452                         labort_physic=.true.
    453453                      endif
    454454                      entr(ig,l+1)=entr(ig,l+1)-ddd
     
    461461         enddo
    462462      enddo
    463       if (labort_gcm) then
     463      if (labort_physic) then
    464464                         ig=igout
    465465                         l=lout
     
    479479                         print*,'fm(ig,l)',fm(ig,l)
    480480                         abort_message = 'probleme dans thermcell_flux'
    481                          CALL abort_gcm (modname,abort_message,1)
     481                         CALL abort_physic (modname,abort_message,1)
    482482      endif
    483483      endif
Note: See TracChangeset for help on using the changeset viewer.