Changeset 21246


Ignore:
Timestamp:
10/06/16 09:07:54 (8 years ago)
Author:
bdef
Message:

CHG: Python way to give string to the cost_fuctions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/inversions/marshallcostfunctions.py

    r21049 r21246  
    33def marshallcostfunctions(cost_functions):
    44
    5         #copy list first
    6         data=copy.deepcopy(cost_functions)
     5        cfDict={101:'SurfaceAbsVelMisfit',
     6                                        102:'SurfaceRelVelMisfit',
     7                                        103:'SurfaceLogVelMisfit',
     8                                        104:'SurfaceLogVxVyMisfit',
     9                                        105:'SurfaceAverageVelMisfit',
     10                                        201:'ThicknessAbsMisfit',
     11                                        501:'DragCoefficientAbsGradient',
     12                                        502:'RheologyBbarAbsGradient',
     13                                        503:'ThicknessAbsGradient',
     14                                        504:'ThicknessAlongGradient',
     15                                        505:'ThicknessAcrossGradient',}
    716
    8         #convert to strings
    9         pos=[i for i,x in enumerate(cost_functions) if x==101];
    10         for i in pos: data[i]='SurfaceAbsVelMisfit'       
    11         pos=[i for i,x in enumerate(cost_functions) if x==102];
    12         for i in pos: data[i]='SurfaceRelVelMisfit'       
    13         pos=[i for i,x in enumerate(cost_functions) if x==103];
    14         for i in pos: data[i]='SurfaceLogVelMisfit'       
    15         pos=[i for i,x in enumerate(cost_functions) if x==104];
    16         for i in pos: data[i]='SurfaceLogVxVyMisfit'       
    17         pos=[i for i,x in enumerate(cost_functions) if x==105];
    18         for i in pos: data[i]='SurfaceAverageVelMisfit'   
    19         pos=[i for i,x in enumerate(cost_functions) if x==201];
    20         for i in pos: data[i]='ThicknessAbsMisfit'         
    21         pos=[i for i,x in enumerate(cost_functions) if x==501];
    22         for i in pos: data[i]='DragCoefficientAbsGradient'
    23         pos=[i for i,x in enumerate(cost_functions) if x==502];
    24         for i in pos: data[i]='RheologyBbarAbsGradient'   
    25         pos=[i for i,x in enumerate(cost_functions) if x==503];
    26         for i in pos: data[i]='ThicknessAbsGradient'       
    27         pos=[i for i,x in enumerate(cost_functions) if x==504];
    28         for i in pos: data[i]='ThicknessAlongGradient'     
    29         pos=[i for i,x in enumerate(cost_functions) if x==505];
    30         for i in pos: data[i]='ThicknessAcrossGradient'   
     17        data=[cfDict[cf] for cf in cost_functions]
     18        # #copy list first
     19        # data=copy.deepcopy(cost_functions)
     20
     21        # #convert to strings
     22        # pos=[i for i,x in enumerate(cost_functions) if x==101];
     23        # for i in pos: data[i]='SurfaceAbsVelMisfit'       
     24        # pos=[i for i,x in enumerate(cost_functions) if x==102];
     25        # for i in pos: data[i]='SurfaceRelVelMisfit'       
     26        # pos=[i for i,x in enumerate(cost_functions) if x==103];
     27        # for i in pos: data[i]='SurfaceLogVelMisfit'       
     28        # pos=[i for i,x in enumerate(cost_functions) if x==104];
     29        # for i in pos: data[i]='SurfaceLogVxVyMisfit'       
     30        # pos=[i for i,x in enumerate(cost_functions) if x==105];
     31        # for i in pos: data[i]='SurfaceAverageVelMisfit'   
     32        # pos=[i for i,x in enumerate(cost_functions) if x==201];
     33        # for i in pos: data[i]='ThicknessAbsMisfit'         
     34        # pos=[i for i,x in enumerate(cost_functions) if x==501];
     35        # for i in pos: data[i]='DragCoefficientAbsGradient'
     36        # pos=[i for i,x in enumerate(cost_functions) if x==502];
     37        # for i in pos: data[i]='RheologyBbarAbsGradient'   
     38        # pos=[i for i,x in enumerate(cost_functions) if x==503];
     39        # for i in pos: data[i]='ThicknessAbsGradient'       
     40        # pos=[i for i,x in enumerate(cost_functions) if x==504];
     41        # for i in pos: data[i]='ThicknessAlongGradient'     
     42        # pos=[i for i,x in enumerate(cost_functions) if x==505];
     43        # for i in pos: data[i]='ThicknessAcrossGradient'   
    3144
    3245        return data
Note: See TracChangeset for help on using the changeset viewer.