/[MITgcm]/MITgcm/model/src/initialise_fixed.F
ViewVC logotype

Annotation of /MITgcm/model/src/initialise_fixed.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Wed Apr 5 19:04:14 2000 UTC (24 years, 1 month ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint28, checkpoint27
Restructered the calling tree between THE_MODEL_MAIN()
and DYNAMICS(). Two calling levels have been inserted
to better split the "fixed" initialization phase from
the main time-loop for easier connectivity with the adjoint
infrastructure.

The calling tree now looks like:

   the_model_main:
      initialise_fixed()
      the_main_loop()

   the_main_loop:
      initialise_varia()
      do i=1,nIters
         forward_step()
      enddo
      forward_step()

   forward_step:
      load_external_fields()
      dynamics()
      do_the_model_io()
      solve_for_pressure()
      do_gterm_blocking_exchanges()
      write_checkpoint()

1 adcroft 1.1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/initialise.F,v 1.14 2000/03/27 22:25:45 adcroft Exp $
2    
3     #include "CPP_OPTIONS.h"
4    
5     CStartOfInterface
6     SUBROUTINE INITIALISE_FIXED(myThid)
7     C /==========================================================\
8     C | SUBROUTINE INITIALISE_FIXED |
9     C | o Routine for setting fixed model arrays such as |
10     C | topography, grid, solver matrices, etc. |
11     C |==========================================================|
12     C | INITIALISE_FIXED is invoked at the start of the model to |
13     C | set fixed model arrays. It reads data from an input file |
14     C | and from various binary files. |
15     C | Each thread invokes an instance of this routine as does |
16     C | each process in a multi-process parallel environment like|
17     C | MPI. |
18     C \==========================================================/
19     IMPLICIT NONE
20    
21     C == Global variables ==
22     #include "SIZE.h"
23     #include "EEPARAMS.h"
24     #include "PARAMS.h"
25    
26     C == Routine arguments ==
27     INTEGER myThid
28     CEndOfInterface
29    
30     C == Local variables ==
31     #ifdef ALLOW_OBCS
32     INTEGER bi,bj,K
33     #endif
34    
35     C-- Set model parameters.
36     C Parameters are set to defaults and then updates are read from
37     C an input file called data.
38     CALL INI_PARMS( myThid )
39     _BARRIER
40    
41     #ifdef ALLOW_OBCS
42     C-- Open boundaries positions
43     CALL INI_OBCS( myThid )
44     #endif
45     _BARRIER
46    
47     C-- Set model grid.
48     C Variables defining model grid spacing are defined.
49     CALL INI_GRID( myThid )
50     _BARRIER
51    
52     C-- Initialise map of depths
53     CALL INI_DEPTHS( myThid )
54     _BARRIER
55    
56     C-- Derive masks, lopping factors and recipricols of quantities.
57     C Volumes and areas are set according to grid and depth map.
58     CALL INI_MASKS_ETC( myThid )
59     _BARRIER
60    
61     #ifdef INCLUDE_LAT_CIRC_FFT_FILTER_CODE
62     C-- Latitude circle filter initialisation
63     CALL FILTER_LATCIRC_FFT_INIT(myThid)
64     _BARRIER
65     #endif
66    
67     C-- Set coriolis operators
68     CALL INI_CORI( myThid )
69    
70     C-- Set laplace operators for use in 2D conjugate gradient solver.
71     CALL INI_CG2D( myThid )
72    
73     #ifdef ALLOW_NONHYDROSTATIC
74     C-- Set laplace operators for use in 3D conjugate gradient solver.
75     CALL INI_CG3D( myThid )
76     #endif
77    
78     C-- Finally summarise the model cofiguration
79     CALL CONFIG_SUMMARY( myThid )
80    
81     END

  ViewVC Help
Powered by ViewVC 1.1.22