File indexing completed on 2023-11-08 06:10:16 UTC
view on githubraw file Latest commit 51e381e9 on 2023-11-07 18:00:07 UTC
3a1a157ebd Ed H*0001 #include "DIC_OPTIONS.h"
0002
0003
0004
0005
0006
0007
0008 SUBROUTINE DIC_INIT_FIXED( myThid )
0009
0010
0011
0012
0013
0014 IMPLICIT NONE
0015 #include "SIZE.h"
0016 #include "EEPARAMS.h"
0017 #include "PARAMS.h"
73b21e3879 Jean*0018 #include "GRID.h"
3a677ccb28 Davi*0019 #include "DIC_VARS.h"
ad6cffb5e8 Gael*0020 #include "DIC_ATMOS.h"
3a1a157ebd Ed H*0021
0022
175a18b00a Jean*0023
3a1a157ebd Ed H*0024 INTEGER myThid
0025
0026
0027 #ifdef ALLOW_DIC
73b21e3879 Jean*0028 INTEGER k
b718ae76a3 Davi*0029 INTEGER iUnit
51e381e9c9 Jean*0030 #if ( defined DIC_BIOTIC || defined READ_PAR )
2e3e8c330d Jona*0031 CHARACTER*(MAX_LEN_MBUF) msgBuf
0032 #endif
3a677ccb28 Davi*0033
7dccb58cca Jean*0034
0035
3a677ccb28 Davi*0036 _BEGIN_MASTER(myThid)
0037
51e381e9c9 Jean*0038
3a677ccb28 Davi*0039
0040 sca1 = 2073.1 _d 0
0041 sca2 = -125.62 _d 0
0042 sca3 = 3.6276 _d 0
0043 sca4 = -0.043219 _d 0
0044
0045
0046 sox1 = 1638.0 _d 0
0047 sox2 = -81.83 _d 0
0048 sox3 = 1.483 _d 0
0049 sox4 = -0.008004 _d 0
0050
0051
0052 oA0= 2.00907 _d 0
0053 oA1= 3.22014 _d 0
0054 oA2= 4.05010 _d 0
0055 oA3= 4.94457 _d 0
0056 oA4= -2.56847 _d -1
0057 oA5= 3.88767 _d 0
0058 oB0= -6.24523 _d -3
0059 oB1= -7.37614 _d -3
0060 oB2= -1.03410 _d -2
0061 oB3= -8.17083 _d -3
0062 oC0= -4.88682 _d -7
0063
51e381e9c9 Jean*0064
8aa4c714ab Jean*0065
175a18b00a Jean*0066 IF ( dic_int1.EQ.2 ) THEN
2e3e8c330d Jona*0067 CALL MDSFINDUNIT( iUnit, myThid )
175a18b00a Jean*0068 OPEN(UNIT=iUnit,FILE='co2atmos.dat',STATUS='old')
0069 DO k=1,dic_int2
0070 READ(iUnit,*) co2atmos(k)
0071 WRITE(standardMessageUnit,*) 'co2atmos',co2atmos(k)
0072 ENDDO
0073 CLOSE(iUnit)
0074 ENDIF
0075
8aa4c714ab Jean*0076 #ifdef DIC_BIOTIC
acd5268a40 Patr*0077 #ifdef ALLOW_AUTODIFF
0078
8aa4c714ab Jean*0079 nlev=Nr
0080 #else
0081 k = 1
0082 DO WHILE ( k .LT. Nr .AND. rC(k) .GE. -zcrit )
0083 k = k+1
0084 ENDDO
0085 nlev = k
0086 #endif
b718ae76a3 Davi*0087
0088 iUnit = standardMessageUnit
0089 WRITE(msgBuf,'(A)') ' '
0090 CALL PRINT_MESSAGE(msgBuf,iUnit,SQUEEZE_RIGHT,myThid)
0091 WRITE(msgBuf,'(A)') '// ==================================='
0092 CALL PRINT_MESSAGE(msgBuf,iUnit,SQUEEZE_RIGHT,myThid)
0093 WRITE(msgBuf,'(A)') '// DIC_INIT_FIXED parameters :'
0094 CALL PRINT_MESSAGE(msgBuf,iUnit,SQUEEZE_RIGHT,myThid)
0095
51e381e9c9 Jean*0096 CALL WRITE_0D_I( nlev, INDEX_NONE, 'nlev =',
b718ae76a3 Davi*0097 & ' /* Number of level over which Bio act is computed */')
8aa4c714ab Jean*0098 #endif /* DIC_BIOTIC */
0099
3a677ccb28 Davi*0100 _END_MASTER(myThid)
0101
51e381e9c9 Jean*0102
0103
0104
0105
0106 #ifdef READ_PAR
0107 #ifdef USE_QSW
0108
0109 WRITE(msgBuf,'(2A)') 'DIC_INIT_FIXED: ',
0110 & 'You can not use READ_PAR and USE_QSW together'
0111 CALL PRINT_ERROR( msgBuf, myThid )
0112 STOP 'ABNORMAL END: S/R DIC_INIT_FIXED'
0113 #endif
0114 IF ( DIC_forcingCycle.GT.0. _d 0
0115 & .AND. DIC_parFile .EQ. ' ' ) THEN
0116
0117 WRITE(msgBuf,'(2A)') 'DIC_INIT_FIXED: ',
0118 & 'You need to provide a file if you want to use READ_PAR'
0119 CALL PRINT_ERROR( msgBuf, myThid )
0120 STOP 'ABNORMAL END: S/R DIC_INIT_FIXED'
0121 ENDIF
0122 #endif /* READ_PAR */
0123
0124
0125
3a1a157ebd Ed H*0126 #ifdef ALLOW_MNC
0127 IF ( useMNC ) THEN
0128 CALL DIC_MNC_INIT( myThid )
0129 ENDIF
0130 #endif /* ALLOW_MNC */
3a677ccb28 Davi*0131
add5eda49e Oliv*0132 #ifdef ALLOW_DIAGNOSTICS
0133 IF ( useDIAGNOSTICS ) THEN
0134 CALL DIC_DIAGNOSTICS_INIT( myThid )
0135 ENDIF
0136 #endif /* ALLOW_DIAGNOSTICS */
0137
3a1a157ebd Ed H*0138 #endif /* ALLOW_DIC */
0139
0140 RETURN
0141 END