1 | MODULE trcrst_lobster |
---|
2 | !!====================================================================== |
---|
3 | !! *** MODULE trcrst_lobster *** |
---|
4 | !! TOP : create, write, read the restart files of LOBSTER tracer |
---|
5 | !!====================================================================== |
---|
6 | !! History : 1.0 ! 2010-01 (C. Ethe) Original |
---|
7 | !!---------------------------------------------------------------------- |
---|
8 | #if defined key_lobster |
---|
9 | !!---------------------------------------------------------------------- |
---|
10 | !! 'key_lobster' lobster tracers |
---|
11 | !!---------------------------------------------------------------------- |
---|
12 | !! trc_rst_read_lobster : read restart file |
---|
13 | !! trc_rst_wri_lobster : write restart file |
---|
14 | !!---------------------------------------------------------------------- |
---|
15 | USE oce_trc ! Ocean variables |
---|
16 | USE par_trc ! TOP parameters |
---|
17 | USE trc ! TOP variables |
---|
18 | USE trcsms_lobster ! lobster sms trends |
---|
19 | USE sms_lobster ! lobster sms trends |
---|
20 | USE in_out_manager ! I/O manager |
---|
21 | USE iom |
---|
22 | |
---|
23 | IMPLICIT NONE |
---|
24 | PRIVATE |
---|
25 | |
---|
26 | PUBLIC trc_rst_read_lobster ! called by trcini.F90 module |
---|
27 | PUBLIC trc_rst_wri_lobster ! called by trcini.F90 module |
---|
28 | |
---|
29 | CONTAINS |
---|
30 | |
---|
31 | SUBROUTINE trc_rst_read_lobster( knum ) |
---|
32 | !!---------------------------------------------------------------------- |
---|
33 | !! *** trc_rst_read_lobster *** |
---|
34 | !! |
---|
35 | !! ** Purpose : Read in restart file specific variables from lobster model |
---|
36 | !! |
---|
37 | !!---------------------------------------------------------------------- |
---|
38 | INTEGER, INTENT(in) :: knum ! unit of the restart file |
---|
39 | !!---------------------------------------------------------------------- |
---|
40 | |
---|
41 | IF(lwp) WRITE(numout,*) |
---|
42 | IF(lwp) WRITE(numout,*) ' trc_rst_read_lobster : Read specific variables from lobster model ' |
---|
43 | IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' |
---|
44 | |
---|
45 | CALL iom_get( knum, jpdom_autoglo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) |
---|
46 | CALL iom_get( knum, jpdom_autoglo, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) |
---|
47 | |
---|
48 | END SUBROUTINE trc_rst_read_lobster |
---|
49 | |
---|
50 | SUBROUTINE trc_rst_wri_lobster( kt, kitrst, knum ) |
---|
51 | !!---------------------------------------------------------------------- |
---|
52 | !! *** trc_rst_read_lobster *** |
---|
53 | !! |
---|
54 | !! ** Purpose : Read in restart file specific variables from lobster model |
---|
55 | !! |
---|
56 | !!---------------------------------------------------------------------- |
---|
57 | INTEGER, INTENT(in) :: kt ! time step |
---|
58 | INTEGER, INTENT(in) :: kitrst ! time step of restart write |
---|
59 | INTEGER, INTENT(in) :: knum ! unit of the restart file |
---|
60 | !!---------------------------------------------------------------------- |
---|
61 | |
---|
62 | IF(lwp) WRITE(numout,*) |
---|
63 | IF(lwp) WRITE(numout,*) ' trc_rst_wri_lobster : Write specific variables from lobster model ' |
---|
64 | IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' |
---|
65 | |
---|
66 | CALL iom_rstput( kt, kitrst, knum, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) |
---|
67 | CALL iom_rstput( kt, kitrst, knum, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) |
---|
68 | |
---|
69 | END SUBROUTINE trc_rst_wri_lobster |
---|
70 | |
---|
71 | #else |
---|
72 | !!---------------------------------------------------------------------- |
---|
73 | !! Dummy module : No passive tracer |
---|
74 | !!---------------------------------------------------------------------- |
---|
75 | CONTAINS |
---|
76 | SUBROUTINE trc_rst_read_lobster( knum ) |
---|
77 | INTEGER, INTENT(in) :: knum |
---|
78 | WRITE(*,*) 'trc_rst_wri_lobster: You should not have seen this print! error?',knum |
---|
79 | END SUBROUTINE trc_rst_read_lobster |
---|
80 | |
---|
81 | SUBROUTINE trc_rst_wri_lobster( kt, kitrst, knum ) |
---|
82 | INTEGER, INTENT(in) :: kt, kitrst, knum |
---|
83 | WRITE(*,*) 'trc_rst_wri_lobster: You should not have seen this print! error?', kt, kitrst, knum |
---|
84 | END SUBROUTINE trc_rst_wri_lobster |
---|
85 | #endif |
---|
86 | |
---|
87 | !!====================================================================== |
---|
88 | END MODULE trcrst_lobster |
---|