source: trunk/LMDZ.COMMON/libf/dyn3dpar/abort_gcm.F @ 1000

Last change on this file since 1000 was 979, checked in by emillour, 12 years ago

Common dynamics:
Updates in the dynamics (seq and ) to keep up with updates
in LMDZ5 (up to LMDZ5 trunk, rev 1760):

  • General stuff (essentially to keep up with Earth model):
  • Updated makelmdz_fcm and makelmdz (more control on dimension.h, added option -mem, although it is not usefull for now)
  • Updated build_gcm with more control over fcm
  • Updated create_make_gcm (enable looking for code in subdirectories)
  • bibio:
  • updates (just renaming the files actually...) new_unit.F90 => new_unit_m.F90, pchsp_95.F90 => pchsp_95_m.F90 and pchfe_95.F90 => pchfe_95_m.F90
  • filtrez:
  • mod_fft.F90: use more baseline CPP directives for preprocessor compatibility
  • mod_filtre_fft_loc.F90: added this new file
  • filtreg_mod.f90: added calls to init_..._loc
  • filtreg.F: fixed calls to DGEMM into SGEMM (preprocessing does the switch)
  • dyn3d:
  • removed obsolete files: etat0_netcdf.F90 limit_netcdf.F90

pres2lev.F90

  • added new file : pres2lev_mod.F90 (module containing "old" pres2lev)
  • gcm.F: changed args to call to inidissip (added arg "vert_prof_dissip")
  • inidissip.F90: added arg "vert_prof_dissip" and the "earth model" discterizations (flagged with "planet_type=="earth")
  • comdissnew.h: added 'vert_prof_dissip' to the common block
  • guide_mod.F90: added the "use pres2lev_mod"
  • conf_gcm.F: cosmetics, and evaluation of vert_prof_dissip, (and also of dissip_* factors, for Earth model)
  • comconst.h : added dissip_factz,dissip_zref variables (for Earth mode dissip)
  • dyn3dpar:
  • removed obsolete files: etat0_netcdf.F90 limit_netcdf.F90

pres2lev.F90 mod_const_para.F90

  • added new files: pres2lev_mod.F90 (module containing "old" pres2lev)

mod_const_mpi

  • abort_gcm : better control of abort in parallel mode
  • gcm.F: changed args to call to inidissip (added arg "vert_prof_dissip")
  • inidissip.F90: added arg "vert_prof_dissip" and the "earth model" discterizations (flagged with "planet_type=="earth")
  • comdissnew.h: added 'vert_prof_dissip' to the common block
  • filtreg_p.F : bug correction (array bounds)
  • guide_p_mod.F90 : added the "use pres2lev_mod"
  • conf_gcm.F : cosmetics (and evaluation of vert_prof_dissip , and

also of dissip_* factors, for Earth model)
plus check if "adjust" is indeed not used in OpenMP

  • comconst.h : add dissip_factz,dissip_zref variables (for Earth mode dissip)

EM

File size: 1.3 KB
Line 
1!
2! $Id: abort_gcm.F 1748 2013-04-24 14:18:40Z emillour $
3!
4c
5c
6      SUBROUTINE abort_gcm(modname, message, ierr)
7     
8#ifdef CPP_IOIPSL
9      USE IOIPSL
10#else
11! if not using IOIPSL, we still need to use (a local version of) getin_dump
12      USE ioipsl_getincom
13#endif
14      USE parallel
15#include "iniprint.h"
16 
17C
18C Stops the simulation cleanly, closing files and printing various
19C comments
20C
21C  Input: modname = name of calling program
22C         message = stuff to print
23C         ierr    = severity of situation ( = 0 normal )
24
25      character(len=*) modname
26      integer ierr, ierror_mpi
27      character(len=*) message
28
29      write(lunout,*) 'in abort_gcm'
30#ifdef CPP_IOIPSL
31c$OMP MASTER
32      call histclo
33      call restclo
34      if (MPI_rank .eq. 0) then
35         call getin_dump
36      endif
37c$OMP END MASTER
38#endif
39c     call histclo(2)
40c     call histclo(3)
41c     call histclo(4)
42c     call histclo(5)
43      write(lunout,*) 'Stopping in ', modname
44      write(lunout,*) 'Reason = ',message
45      if (ierr .eq. 0) then
46        write(lunout,*) 'Everything is cool'
47      else
48        write(lunout,*) 'Houston, we have a problem ', ierr
49#ifdef CPP_MPI
50C$OMP CRITICAL (MPI_ABORT_GCM)
51        call MPI_ABORT(COMM_LMDZ, 1, ierror_mpi)
52C$OMP END CRITICAL (MPI_ABORT_GCM)
53#else
54        stop 1
55#endif         
56      endif
57      END
Note: See TracBrowser for help on using the repository browser.