|
沙发

楼主 |
发表于 2023-1-10 10:44:21
|
只看该作者
有没有大佬,帮忙看下这个代码在做啥呀
[Fortran] 纯文本查看 复制代码 001 | SUBROUTINE ELECTX ELECTX 01 |
006 | DIMENSION FN 2 C ( 600 , 10 , 25 ) |
007 | DIMENSION COE ( 4 ) , XA ( 4 ) , YA ( 4 ) |
008 | DIMENSION ALPHA ( 600 ) , BETA ( 600 ) , GAMMA ( 600 ) |
011 | SAVE ALPHA , BETA , GAMMA |
014 | COMMON / ALEX 2 / NOC , HPC ( 600 ) , FNC ( 600 , 10 , 25 ) GPROF 000 |
015 | COMMON / ZZZZ / ZZLAT , ZZLON , JLAT , JLON LATLON 00 |
016 | SAVE LATOLD , LONOLD LATLON 00 |
022 | COMMON / CONST / PI , PIT 2 , PID 2 , DEGS , RAD , K , C , LOGTEN ELECTX 05 |
023 | COMMON / XX / MODX ( 2 ) , X , PXPR , PXPTH , PXPPH , PXPT , HMAX ELECTX 06 |
024 | COMMON R ( 20 ) , T , STP , DRDT ( 20 ) , N 2 ELECTX 07 |
025 | COMMON / WW / ID , W 0 , W ( 400 ) ELECTX 08 |
026 | EQUIVALENCE ( EARTHR , W ( 2 ) ) , ( F , W ( 6 ) ) , ( PVOLTA , W ( 100 ) ) , ( PERT , W ( 150 ) ) ELECTX 09 |
031 | MODX ( 1 ) = 4 HGRID ELECTX 12 |
032 | IF ( PVOLTA .EQ. 0 . ) GO TO 32 ELECTX 13 |
041 | CALL GRIDPROFILES GPROF 000 |
043 | 32 ZZLAT = DEGS * ( PID 2 - R ( 2 ) ) ELECTX 17 |
044 | ZZLON = DEGS * R ( 3 ) ELECTX 18 |
046 | IF ( JLAT .EQ. LATOLD .AND. JLON .EQ. LONOLD ) GO TO 33 ELECTX 20 |
047 | IF ( JLAT .NE. LATOLD ) LATOLD = JLAT ELECTX 21 |
048 | IF ( JLON .NE. LONOLD ) LONOLD = JLON ELECTX 22 |
057 | FN 2 C ( NH , JLAT , JLON ) = FNC ( NH , JLAT , JLON ) * * 2 GPROF 000 |
059 | IF ( FNC ( NH , JLAT , JLON ) .GT. FNC ( NMAX , JLAT , JLON ) ) NMAX = NH GPROF 000 |
060 | IF ( NH .EQ. NOC ) GO TO 4 |
067 | XA ( MP ) = HPC ( I + MP -1 ) GPROF 000 |
070 | YA ( MP ) = FN 2 C ( I + MP -1 , JLAT , JLON ) GPROF 000 |
073 | CALL POLCOE ( XA , YA , 3 , COE ) |
083 | HMAX = HPC ( NMAX ) ELECTX 27 |
084 | 33 H = R ( 1 ) - EARTHR ELECTX 28 |
086 | IF ( H .GE. HPC ( 1 ) ) GO TO 12 ELECTX 30 |
092 | 12 IF ( H .GE. HPC ( NOC ) ) GO TO 18 ELECTX 34 |
095 | IF ( H .LT. HPC ( NH -1 ) ) NSTEP = -1 ELECTX 37 |
096 | 15 IF ( HPC ( NH -1 ) .LE. H .AND. H .LT. HPC ( NH ) ) GO TO 16 ELECTX 38 |
107 | 16 X = ( ALPHA ( NH -1 ) + BETA ( NH -1 ) * H + GAMMA ( NH -1 ) * H * * 2 ) / F 2 |
108 | PXPR = ( BETA ( NH -1 ) + H * ( 2 . * GAMMA ( NH -1 ) ) ) / F 2 |
114 | 18 X = FN 2 C ( NOC , JLAT , JLON ) / F 2 GPROF 000 |
115 | 50 IF ( PERT .NE. 0 . ) CALL ELECT 1 ELECTX 42 |
118 | IF ( X .EQ. 0 . ) PRINT 1234 , R ( 1 ) , R ( 2 ) , R ( 3 ) AZZ |
121 | 1234 FORMAT ( 3 ( 2 X , F 20.10 ) ) ELECTX 44 |
122 | WRITE ( 6 , 1704 ) R ( 1 ) , R ( 2 ) , R ( 3 ) , R ( 4 ) , R ( 5 ) , R ( 6 ) ELECTX 45 |
123 | 1704 FORMAT ( 6 ( 2 X , F 20.10 ) ) ELECTX 46 |
|
|