*IF DEF,CONTROL,AND,DEF,SLAB SLBSTP1A.2
C ******************************COPYRIGHT****************************** GTS2F400.9145
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.9146
C GTS2F400.9147
C Use, duplication or disclosure of this code is subject to the GTS2F400.9148
C restrictions as set forth in the contract. GTS2F400.9149
C GTS2F400.9150
C Meteorological Office GTS2F400.9151
C London Road GTS2F400.9152
C BRACKNELL GTS2F400.9153
C Berkshire UK GTS2F400.9154
C RG12 2SZ GTS2F400.9155
C GTS2F400.9156
C If no contract has been raised with this copy of the code, the use, GTS2F400.9157
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.9158
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.9159
C Modelling at the above address. GTS2F400.9160
C ******************************COPYRIGHT****************************** GTS2F400.9161
C GTS2F400.9162
CLL Routine: SLABSTEP ------------------------------------------------ SLBSTP1A.3
CLL SLBSTP1A.4
CLL Purpose: To pass correct arguments to top level slab routine SJT1F304.616
CLL SLBSTP1A.6
CLL Called by: U_MODEL SLBSTP1A.7
CLL SLBSTP1A.8
CLL Author: C.A.Senior Date: 14 april 1994 SJT1F304.617
CLL SLBSTP1A.11
CLL Tested under compiler: cft77 SLBSTP1A.12
CLL Tested under OS version: UNICOS 6.1 SLBSTP1A.13
CLL SLBSTP1A.14
CLL Code version no: 1 Date: 14 april 1994 SJT1F304.618
CLL Model Modification history from model version 3.4: SDR1F404.34
CLL version Date SDR1F404.35
!LL 4.4 04/08/97 Call COCNINDX and add ARGOINDX to SLABSTPU SDR1F404.36
!LL argument list. Set up namelist NOCNINDX for SDR1F404.37
!LL COCNINDX variables and print. D. Robinson. SDR1F404.38
!LL SDR1F404.39
!LL 4.5 03/09/98 Slab model (in SLABSTPU) has been modified to be SCH0F405.67
!LL compatible with atmosphere running mpp. Note: the SCH0F405.68
!LL cavitating fluid sea ice dynamics and slab temp. SCH0F405.69
!LL advection bits of code are not used at present and SCH0F405.70
!LL have not been taken into account in this coding. SCH0F405.71
!LL C. D. Hewitt SCH0F405.72
CLL programming standard : UM document 3 version 5 SLBSTP1A.17
CLL system components covered : P40 SLBSTP1A.18
CLL SLBSTP1A.19
CLL External documentation: UM Documentation paper 58 SLBSTP1A.20
CLL SLBSTP1A.21
CLLEND----------------------------------------------------------------- SLBSTP1A.22
C*L Arguments SLBSTP1A.23
SLBSTP1A.24
SUBROUTINE SLABSTEP( 1,1@DYALLOC.2894
*CALL ARGSIZE
@DYALLOC.2895
*CALL ARGD1
@DYALLOC.2896
*CALL ARGDUMA
SJT1F304.619
*CALL ARGDUMO
SJT1F304.620
*CALL ARGDUMW
GKR1F401.259
*CALL ARGSTS
SJT1F304.621
*CALL ARGPTRA
@DYALLOC.2897
*CALL ARGPTRO
SJT1F304.622
*CALL ARGCONA
@DYALLOC.2899
*CALL ARGPPX
GKR0F305.989
* ICODE,CMESSAGE) @DYALLOC.2900
SLBSTP1A.26
C @DYALLOC.2901
*CALL CSUBMODL
GDR4F305.135
*CALL TYPSIZE
@DYALLOC.2902
*CALL TYPD1
@DYALLOC.2903
*CALL TYPDUMA
SJT1F304.623
*CALL TYPDUMO
SJT1F304.624
*CALL TYPDUMW
GKR1F401.260
*CALL TYPSTS
SJT1F304.625
*CALL TYPPTRA
@DYALLOC.2904
*CALL TYPPTRO
SJT1F304.626
*CALL CMAXSIZE
@DYALLOC.2906
*CALL TYPCONA
@DYALLOC.2907
*CALL PPXLOOK
GKR0F305.990
*CALL COCNINDX
SDR1F404.40
*IF DEF,MPP SCH0F405.73
*CALL PARVARS
SCH0F405.74
*ENDIF SCH0F405.75
SDR1F404.41
NAMELIST /NOCNINDX/ SDR1F404.42
& J_1, J_2, J_3 SDR1F404.43
&, J_JMT, J_JMTM1, J_JMTM2, J_JMTP1 SDR1F404.44
&, JST, JFIN, J_FROM_LOC, J_TO_LOC SDR1F404.45
&, JMT_GLOBAL, JMTM1_GLOBAL, JMTM2_GLOBAL SDR1F404.46
&, JMTP1_GLOBAL, J_OFFSET, O_MYPE, O_EW_HALO, O_NS_HALO SDR1F404.47
&, J_PE_JSTM1, J_PE_JSTM2, J_PE_JFINP1, J_PE_JFINP2 SDR1F404.48
&, O_NPROC SDR1F404.49
&, imout,jmout,J_PE_IND_MED,NMEDLEV SDR1F404.50
SDR1F404.51
SJT1F304.627
INTEGER SLBSTP1A.29
& ICODE ! OUT: Return code : 0 Normal Exit SJT1F304.628
C ! : >0 Error SLBSTP1A.31
SLBSTP1A.32
CHARACTER*(80) SJT1F304.629
& CMESSAGE ! OUT: Error message if return code >0 SJT1F304.630
C SLBSTP1A.52
C External subroutines called SLBSTP1A.53
C SLBSTP1A.54
EXTERNAL SLBSTP1A.55
& SLABSTPU SJT1F304.631
C SLBSTP1A.59
INTEGER im_ident ! Internal model identifier GDR4F305.136
INTEGER im_index ! Internal model index for stash GDR4F305.137
GDR4F305.138
im_ident = slab_im GDR4F305.139
im_index = internal_model_index(im_ident) GDR4F305.140
GDR4F305.141
write (6,*) ' NOCNINDX Namelist is ' SDR1F404.52
write (6,NOCNINDX) SDR1F404.53
SDR1F404.54
C Call top level routine for Slab model SJT1F304.632
C passing across extra arguments to comply with portable model SJT1F304.633
C SLBSTP1A.60
CALL SLABSTPU
( SJT1F304.634
*CALL ARGSIZE
@DYALLOC.2911
*CALL ARGD1
@DYALLOC.2912
*CALL ARGDUMA
@DYALLOC.2913
*CALL ARGDUMO
@DYALLOC.2914
*CALL ARGDUMW
GKR1F401.261
*CALL ARGSTS
@DYALLOC.2915
*CALL ARGPTRA
@DYALLOC.2916
*CALL ARGPTRO
@DYALLOC.2917
*CALL ARGCONA
@DYALLOC.2918
*CALL ARGPPX
GKR0F305.991
*CALL ARGOINDX
SDR1F404.55
*IF DEF,MPP SCH0F405.76
& glsize(1)*glsize(2), SCH0F405.77
& glsize(1)*(glsize(2)-1), SCH0F405.78
*ENDIF SCH0F405.79
* STASH_MAXLEN(40,im_index),P_FIELD, GDR4F305.142
* ICODE,CMESSAGE) SJT1F304.636
SJT1F304.637
C SLBSTP1A.101
ICODE=0 SJT1F304.638
CMESSAGE=' ' SJT1F304.639
C SLBSTP1A.103
IF(ICODE.GT.0) THEN SLBSTP1A.104
RETURN SLBSTP1A.105
ENDIF SLBSTP1A.106
C SLBSTP1A.107
RETURN SLBSTP1A.108
END SLBSTP1A.109
*ENDIF SLBSTP1A.110